abstract 클래스 및 하위 클래스 순서

2184 단어 abstractClass
우선 abstract 클래스
public abstract class Glyph {

    abstract void draw();
    public Glyph() {
        System.out.println("Glyph() before draw()");
        draw();
        System.out.println("Glyph() after draw()");
    }


}

부류 를 받아 오다
public class RoundGlyph extends Glyph{
      int radius = 1;

    public RoundGlyph(int i ) {
        radius = i;
        System.out.println("RoundGlyph().radius="+radius);

    }

    @Override
    void draw() {
        System.out.println("RoundGlyph().radius="+radius);
    }

}

가장 좋은main 방법 실행
public class Text {
    public static void main(String[] args) {
        new RoundGlyph(5);
    }

}

, 출력 결과는 Glyph() before draw() RoundGlyph()입니다.radius=0 Glyph() after draw() RoundGlyph().radius=5
일반류의 계승 방식에 따르면 먼저 부류 구조 방법의 조작을 마치고 자류에 가야 한다.추상적인 부류draw()를 촉발하는 방법도 자류와 함께 촉발한다.또한 하위 클래스가radius에 공간을 분배하기 전에 진행되지 않았습니다.따라서radius의 값은 기본 초기값 1이 아니라 어떤 조작도 하기 전에 시스템의 기본 초기값 0입니다.

좋은 웹페이지 즐겨찾기