RoundGlyph 继承了Glyph,但没有覆盖Glyph的构造方法,也就是说,
RoundGlyph还有一个默认的,但不是显性的构造方法:RoundGlyph(){
System.out.println("Glyph() before draw()");
draw();
System.out.println("Glyph() after draw()");
}
RoundGlyph还有一个默认的,但不是显性的构造方法:RoundGlyph(){
System.out.println("Glyph() before draw()");
draw();
System.out.println("Glyph() after draw()");
}
解决方案 »
- 一道关于java的static的知识的问题,请大侠帮助,谢谢
- 在netbeans7.1.2里,点击一个项目的菜单项后,如何在主窗口菜单栏下面的JScrollPane打开外部(同一项目)已拖拽设计好的JFrame窗体?
- 关于泛型的问题
- 写一个字符串逆序的程序,时间复杂度和空间复杂度最低,求效率最高算法
- 一个很基础的java程序,怎么就是读不懂啊,高手过来看看
- 求教一个关于图像处理的算法
- 请问如何将路径和文件名分开来打印!!比如:D:\3D MAX\10.txt
- 谁知道corejava类?帮偶一把吧!
- 关于this的问题
- 如何在JAVA中调用已存在C++类库中的函数?
- 如何让java调用外部程序,并且不等待外部程序执行完毕,直接返回?
- 哪里有JTidy包下载?
RoundGlyph()和他的基类构造式Glyph() 名字根本不同,
构造方法怎么覆盖?按照正常的继承顺序,在呼叫derived class
RoundGlyph的构造方法之前,会先对base class Glyph初始化,
呼叫其构建式。可是我的疑问是作为abstract class 的Glyph在这个例子
中实际上是产生了一个object!"虽然Glyph是abstract,但Glyph()没有声明为abstract,是可以直接调用的"
abstract class Glyph {
abstract void draw();
Glyph() {
System.out.println("test");
}
}
public class PolyConstructors {
public static void main(String[] args) {
new Glyph(); //error!
}
}
abstract class是没有办法实例化的,就算是你的构造方法不是abstract