2 f229338596 F229338596 于 2014.09.02 21:29 提问

java 多态中的一些问题

class Glyph{
void draw(){
System.out.println("Glyph.draw()");
}
Glyph(){
System.out.println("Glyph() before draw()");
draw();
System.out.println("Glyh() after draw()");
}
}
class RoundGlyph extends Glyph{
private int radius = 1;
RoundGlyph(int r){
radius = r;
System.out.println("RoundGlyph.RoundGlyph(),radius ="+radius);
}
void draw(){
System.out.println("RoundGlyph.draw(),radius ="+radius);
}
}
public class PolyConstructors {
public static void main(String [] args){
new RoundGlyph(5);
}
}
输出:
Glyph() before draw()
RoundGlyph.draw(),radius =0
Glyh() after draw()
RoundGlyph.RoundGlyph(),radius =5
问题: 为何会打印第二行呢?初始化基类构造器时调用的不是内部的draw()方法吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!