추상 클래스가

는 추상 클래스로 선언된 추상 할 수 있습니다—그것은 또는 포함하지 않을 수 있습니다 추상적인 방법입니다. 추상 클래스는 인스턴스화 할 수 없지만 하위 클래스화 할 수 있습니다. 추상 클래스에는 정적 필드와 정적 메소드가있을 수 있습니다. 추상 클래스가 서브 클래스 일 때 서브 클래스는 일반적으로 부모 클래스의 모든 추상 메소드에 대한 구현을 제공합니다. 그러나 그렇지 않은 경우 하위 클래스도 추상적으로 선언해야합니다.,

추상적인 방법입하는 방법을 선언하고 구현하지 않는(괄호 및 세미콜론),다음과 같다:

abstract void sum(int a, int b);

을 고려하여 추상 클래스가 있는 경우 이러한 문의 상황에 적용:

  1. 을 공유하고 싶은 코드는 여러 가지 중에서 밀접하게 관련됩니다.
  2. 을 기대를 확장하는 클래스의 추상 클래스가 많은 일반적인 방법 또는 분야 또는 액세스가 필요한 수정은 다른 공(예:보호하고 개인).
  3. 비 정적 또는 비 최종 필드를 선언하고 싶습니다., 이를 통해 자신이 속한 개체의 상태에 액세스하고 수정할 수 있는 메서드를 정의할 수 있습니다.

인터페이스

인터페이스는 객체의 메소드 선언 일뿐입니다. 인터페이스에서 객체가 수행 할 수있는 작업의 종류를 정의합니다. 이러한 작업은 인터페이스를 구현하는 클래스에 의해 정의됩니다. 인터페이스는 클래스와 외부 세계 사이의 계약을 형성하며,이 계약은 컴파일러에 의해 빌드 타임에 적용됩니다.,

고려한 인터페이스를 사용하여 어떤 경우 이러한 문의 상황에 적용:

  1. 당신이 기대하는 관련이 없는 클래스를 구현하는 것이라 너의 인터페이스입니다. 예를 들어,비교 가능하고 복제 가능한 인터페이스는 많은 관련없는 클래스에 의해 구현됩니다.
  2. 특정 데이터 유형의 동작을 지정하고 싶지만 동작을 구현하는 사람은 신경 쓰지 않습니다.
  3. 다중 상속을 활용하고 싶습니다.,

원래 출판 June2016

추가 읽기

  • 경우(안)을 사용하여 추상 클래스 Java
  • Java:인터페이스 Vs. 추상 클래스가
  • 하는 방법을 선택 사이의 인터페이스와 추상 클래스에서 Java