继承问题

今天在群里聊天 偶然看到一个朋友问关于继承的问题 毫不犹豫的回答  但是错了  已然忘记了子类调用父类的时候 是要调用父类无参构造函数

class Glyph {

	Glyph() {
                //step1
		System.out.println("Glyph() before draw()");
                //step2
		draw();
                  //step3
		System.out.println("Glyph() after draw()");
	}
	Glyph(int i) {
		System.out.println("Glyph() before draw()" + i );
		draw();
		System.out.println("Glyph() after draw()" + i);
	}

	void draw() {
		System.out.println("Glyph.draw()");
	}

}

class RoundGlyph extends Glyph {
	private int radius = 1;
         //step4
	RoundGlyph(int r) {
		radius = r;
		System.out.println("RoundGlyph.RoundGlyph(),radius = " + radius);
	}
         //step2
	void draw() {
		System.out.println("RoundGlyph.draw(),radius = " + radius);
	}
}

public class PolyConstructor {
	public static void main(String[] args) {
		new RoundGlyph(5);
	}
}

 

你可能感兴趣的:(继承)