하향식 상속 계층에서 상위 레벨에 위치한 클래스가 더 일반적이며 더 추상적 일 수도 있습니다. 특정 관점에서 볼 때 조상 수업은 더 일반적이며 가장 기본적인 멤버 중 일부만 포함하며 사람들은 다른 클래스를 도출하기위한 기본 클래스로만 사용하며 객체를 만드는 데 사용되지 않습니다. 심지어 방법을 구현하지 않고도 방법의 정의를 제공 할 수 있으며, 서브 클래스는 특정 요구에 따라이를 구현할 수 있습니다.
메소드 정의 만 제공하지만 구체적으로 구현하지 않는이 방법은 추상적 인 메소드라고하며 코드 표현식에는 "{}"가 없습니다. 하나 이상의 추상 방법을 포함하는 클래스도 추상 클래스로 선언해야합니다.
추상 수정자를 사용하여 추상 방법과 추상 클래스를 나타냅니다.
추상적 인 방법을 포함하는 것 외에도 추상 클래스에는 특정 변수 및 특정 방법이 포함될 수 있습니다. 클래스에 초록 방법이 포함되어 있지 않더라도 인스턴스화되지 않도록 추상 클래스로 선언 할 수 있습니다.
초록 클래스를 인스턴스화 할 수 없으며, 초록 방법은 서브 클래스로 구현되어야합니다. 다음 코드를 참조하십시오.
STATIC JAVA.LANG.SYSTEM. DRIVER D = D.SETNAME ( "Xiao Chen"); void setName (String name) {this.name = name} getName () {return this.name}; public void work () {out.println ( "내 이름은" + this.getname () + "입니다. 강의를하고 있습니다. //이 방법은 공개 void work () {out.println ( "내 이름은" + this.getName () + ", 운전 중이며 전화를받을 수 없습니다 ...}};
실행 결과 :
제 이름은 왕 밍입니다. 강의를하고 있습니다. 제발 주변을 둘러 보지 마세요 ... 제 이름은 Xiao Chen입니다. 운전 중이며 전화를받을 수 없습니다 ...
추상 수업에 대한 몇 가지 설명 :
초록 클래스는 직접 사용할 수 없습니다. 하위 클래스를 사용하여 추상 클래스를 구현 한 다음 하위 클래스의 인스턴스를 사용해야합니다. 그러나 유형이 추상 클래스 인 변수를 만들 수 있으며 콘크리트 서브 클래스의 인스턴스를 가리 키게합니다. 즉, 다형성의 적용.
추상적 인 구성 방법이나 추상 정적 방법은 없을 수 없습니다.
수업은 다음과 같은 경우에 추상적 인 클래스가됩니다.
클래스의 하나 이상의 방법이 추상적 인 방법 일 때;
클래스가 추상 클래스의 서브 클래스이고 모든 추상 방법에 대한 구현 세부 사항 또는 메소드 본문을 제공 할 수없는 경우;
클래스가 인터페이스를 구현하고 모든 추상 방법에 대한 구현 세부 사항 또는 메소드 본문을 제공 할 수없는 경우;
우리가 여기서 이야기하고있는 것은이 경우 수업이 추상적 인 수업이 될 것이며, 추상 클래스가 분명히 이러한 상황을 가질 것이라고는 말하지 않습니다.
일반적인 오류 : 추상 클래스에는 추상 방법이 포함되어야합니다. 그러나 반면에, "추상 방법을 포함하는 클래스는 추상 클래스 여야합니다"는 정확합니다.
사실, 추상 클래스는 완전히 정상적인 클래스가 될 수 있습니다.