public class Glyph {
void draw(){
System.out.println("Glyph.draw()");
}
Glyph(){
System.out.println("Glyph.draw() before");
draw();
System.out.println("Glyph.draw() after");
}
}
class RoundGlyph extends Glyph{
private int radius = 1;
RoundGlyph(int r){
radius = r;
System.out.println("RoundGlyph.RoundGlyph().draw().radius="+radius);
}
void draw(){
System.out.println("RoundGlyph.draw().radius="+radius);
}
}
class PolyConstruction{
public static void main(String[] args) {
new RoundGlyph(3);
}
}
/** 结果
Glyph.draw() before
RoundGlyph.draw().radius=0
Glyph.draw() after
RoundGlyph.RoundGlyph().draw().radius=3
*/
初始化父类的时候,父类的构造函数如果调用了,子类从写过的方法,父类会调用子类的方法。