详细解决方案
新手在线请教小有关问题,关于继承和抽象类
热度:972 发布时间:2016-04-17 22:22:06
1、关于继承的问题:子类继承了父类得所有方法和变量,那么子类就可以随便使用这些类得,但是有几个疑惑。
在GregorianCalendar类中,他继承了Calendar中的变量和方法:
但是在写程序的时候:
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);//而不是 int today = d.get(DAY_OF_MONTH)
因为我个人觉得 GregorianCalendar 已经继承了Calendar 中的所有变量了,而且DAY_OF_MONTH是public static final int 这个类型,子类可以使用,如果你给我的解释是因为该类是Calendar 中的变量,GregorianCalendar 虽然继承了该类的变量,但是在内存中GregorianCalendar 的对象实际上是拥有了Calendar 得一个对象,那么调用的时候就要采用这种方法,但是在调用get()函数的时候为什么没有采用Calendar 的对象调用get()而是采用GregorianCalendar 对象调用该函数?
2、关于抽象的问题,马士兵的视频上面说过,abstract类是抽象的类,不能创建对象,但是在如下程序中Graphics 是个抽象类,为什么他还能做为参数使用 public void paint(Graphics g)
import java.awt.*;
class SubPanel extends Panel{
public void paint(Graphics g){
g.drawString("this is a drawing test!",20,20);
g.drawLine(30,60,100,120);
g.draw3DRect(60,50,70,30,false);
}
}
public class AWTDrawing2 {
private Frame f = new Frame(" Hello Out There!");
private SubPanel p = new SubPanel();
public void launchFrame() {
f.add(p);
f.setSize(170,170);
f.setBackground( new Color(89,145,145));
f.setVisible( true);
}
public static void main( String args[]) {
AWTDrawing2 guiWindow = new AWTDrawing2();
guiWindow.launchFrame();
}
}
------解决方案--------------------
1
DAY_OF_MONTH是static的,没有继承一说,该属性属于类级别的,通过类名来访问
2
Grapihc是抽象的,但是awt/swing框架内部会返回Graphic的实际对象实例
你可以做个简单的测试
public void paint(Graphics g){
System.out.println(g.getClass()); //来查看一下Graphic具体是什么对象的实例
g.drawString("this is a drawing test!",20,20);
g.drawLine(30,60,100,120);
g.draw3DRect(60,50,70,30,false);
}
------解决方案--------------------
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Panel
Container 这个里面有paint方法的
该方法将 paint 转发给任意一个此容器子组件的轻量级组件
相关解决方案
- 关于 怎么在SpringMVC中获取request对象 的疑问
- 新手 spring mvc总是出现404异常
- Spring 事物update 和 select 的 有关问题,救~
- 。mysql中 &&和||如何一起用,表示两组条件。
- 关于<welcome-file-list>下同时存在多个页面的有关问题
- 新手,js有关问题
- 有相熟spring的@Configuration 和 @bean 的大侠吗
- 求帮忙 这个是如何事 新手
- 很急 有关<form:select 相关的diable有关问题
- 关于<s:if>标签的有关问题
- 关于@SkipValidation的疑点
- 关于 Resin启动的一个有关问题
- myeclipse2013疑义,关于 Migration 和 内置struts2
- [新手] 将应用部署到jae上,数据库配置文件应该如何修改
- 关于 spring自动定时任务解决方法
- 简单的JSP标记有关问题~新手~求解
- 培训9k贵不贵哈,请教
- 传智播客 和 北大青鸟(尤其是清河校区) 那个 更好,该如何解决
- java EE 和 java SE ,基础学完后继续学习的话,怎么选择
- UTF-8 和 GBK 和 gb2312 的区别解决方案
- 注册模块出错 新手
- 求解equals("")和==""解决办法
- tags-bean 和 struts-bean区别解决方法
- 关于 struts2 upload 上传 docx 有关问题
- 请教 西安 Java web开发 2年工作经验的,什么待遇啊,大概会有多少钱
- Eclipse下启动tomcat 和 tomcat 控制台 启动, 两种 情况 有何 不同?该如何解决
- 关于<html:base />的位置有关问题
- 关于 Struts ActionForward 跳转的有关问题
- 关于 response.setContentType的设置有关问题
- <jsp:include>和<%@ include %>使用疑惑(结果跟书上讲的不一样)解决方案