Java 인터페이스 (인터페이스)는 일련의 메소드 선언이며 메소드 기능 모음입니다. 인터페이스에는 메소드의 특성 만 있지만 메소드 구현은 없습니다. 따라서 이러한 방법은 다른 장소의 다른 클래스에 의해 구현 될 수 있으며, 이러한 구현에는 다른 동작 (기능)이있을 수 있습니다.
1. 인터페이스 의미 :
1. Java 인터페이스, Java 언어에 존재하는 구조는 특정 구문 및 구조를 갖습니다.
2. 클래스가 가지고있는 방법의 기능 모음은 논리적 추상화입니다.
전자는 "Java Interface"라고하며 후자는 "인터페이스"라고합니다.
Java 인터페이스 자체에는 Java 인터페이스에 외관이 포함되지 않고 공개 동작 만 설명하므로 Java 인터페이스는 Java Abstract 클래스보다 더 추상적입니다.
Java 인터페이스의 방법은 추상적이고 공개 될 수 있습니다. Java 인터페이스에는 생성자가 없습니다. Java 인터페이스에는 공개, 정적 및 최종 속성이있을 수 있습니다.
2. 인터페이스를 사용하는 이유 Java는 단일 상속 언어입니까? OCP 원칙에 따라 기존 부모 클래스를 사용하여 특정 클래스에 새로운 기능을 추가하려면 솔루션은 학부모 클래스를 부모 클래스에 추가하거나 클래스 계층 구조 구조의 상단으로 이동할 때까지 부모 클래스에 부모 클래스를 추가하는 것입니다. 이러한 방식으로, 특정 클래스의 삽입 가능성 설계는 전체 계층에서 모든 클래스의 수정이됩니다.
인터페이스가있는 경우 위의 예에서는 전체 계층 구조 구조의 모든 클래스를 유지할 필요가 없습니다.
3. 인터페이스에는 삽입 가능성이 있습니다.
계층 구조의 모든 클래스는 인터페이스를 구현할 수 있으며,이 클래스의 모든 서브 클래스에 영향을 미치지만이 클래스의 슈퍼 클래스에는 영향을 미치지 않습니다. 이 클래스는이 인터페이스에 지정된 메소드를 구현해야하며 하위 클래스는이 클래스에서 이러한 메소드를 자동으로 상속 할 수 있으며 물론 이러한 모든 방법 또는 일부 방법을 대체하도록 선택할 수도 있습니다. 이 시점에서 이러한 서브 클래스는 플러그 가능합니다 (이 인터페이스 유형으로로드하여 모든 서브 클래스를 전달하고 구현할 수 있습니다).
인터페이스는 보간 및 메소드 호출을 제공합니다. 소프트웨어 시스템의 규모가 클수록 수명주기가 길어집니다. 인터페이스는 소프트웨어 시스템의 유연성과 확장 성과 보간 가능성을 보장합니다.
Java 단일 상속이 새로운 확장 (다중 상속의 교체) 가능성이있는 인터페이스 때문입니다. 3. 유형 계층 Java 인터페이스 (및 추상 클래스)는 일반적으로 유형 계층의 시작점으로 사용됩니다.
클래스에 이미 주요 슈퍼 타입이있는 경우 인터페이스를 구현함으로써 클래스는 하이브리드 유형이라고하는 다른 사소한 슈퍼 타입을 가질 수 있습니다.
4. Java 인터페이스 분류
1. 일반 인터페이스 (메소드 정의 포함) 공개 인터페이스 actionlistener {public acpract void actionperformed (ActionEvent 이벤트);}
2. 식별 인터페이스 (메소드 및 속성 정의 없음) 식별 인터페이스는 메소드와 속성이없는 인터페이스입니다. 식별 인터페이스에는 클래스를 구현하는 시맨틱 요구 사항이 없습니다. 그것은 그것을 구현하는 클래스가 특정 유형에 속함을 나타냅니다.
공개 인터페이스 직렬화 가능 {}; 3. 상수 인터페이스는 Java 인터페이스를 사용하여 일부 상수를 선언 한 다음이 인터페이스를 구현하는 클래스는 이러한 상수를 사용합니다.
공개 인터페이스 appConstants {public static final data_source_name = "test"; public static final user_name = "test"; public static final password = "test";}
5. 인터페이스의 특성
1. Java 인터페이스의 멤버 변수는 기본적으로 공개, 정적 및 최종이며 (모두 생략 될 수 있음) (모두 생략 될 수 있음), 표시 및 초기화해야합니다.
2. Java 인터페이스의 방법은 기본적으로 공개 및 추상 유형입니다 (모두 생략 할 수 있음). 방법 본문이 없으면 인스턴스화 할 수 없습니다.
3. Java 인터페이스는 공개, 정적, 최종 유형 및 공개 추상 유형의 멤버 변수 만 포함 할 수 있습니다.
4. 인터페이스에는 생성자가 없으며 인스턴스화 할 수 없습니다.
5. 한 인터페이스는 다른 인터페이스를 구현할 수 없지만 다른 인터페이스를 상속 할 수 있습니다.
6. Java 인터페이스는 클래스를 통해 추상 방법을 구현해야합니다.
7. 클래스가 특정 Java 인터페이스를 구현할 때 인터페이스에서 모든 추상 방법을 구현해야합니다. 그렇지 않으면이 클래스는 추상 클래스로 선언해야합니다.
8. 인터페이스 (인스턴스)의 인스턴스를 만들 수는 없지만 인터페이스 유형의 참조 변수를 정의 할 수 있습니다. 이 참조 변수는이 인터페이스를 구현하는 클래스의 인스턴스를 나타냅니다.
9. 클래스는 하나의 직접 상위 클래스를 상속받을 수 있지만 여러 인터페이스를 구현하고 간접적으로 여러 상속을 구현할 수 있습니다.
6. Java 인터페이스와 Java 초록 클래스의 차이 객체 지향 설계의 초점은 추상화입니다. 추상 클래스와 인터페이스는 모두 상속 트리의 상단 층에 있습니다.
유사성 :
1. 시스템의 추상화 계층을 나타냅니다. 시스템이 상속 트리에서 클래스를 사용하는 경우, 참조 변수를 상속 트리의 상위 초록 유형으로 선언해야합니다. 이것은 두 시스템 간의 결합을 향상시킬 수 있습니다. 2. 어느 쪽도 인스턴스화 될 수 없습니다. 3. 둘 다 추상적 인 방법을 포함합니다. 이러한 추상 방법은 시스템이 제공 할 수있는 서비스를 설명하는 데 사용되지만 방법 본문의 차이를 포함하지 않습니다.
1. 가장 큰 차이점은 Java Abstract 클래스가 특정 방법의 부분 구현을 제공 할 수 있지만 Java 인터페이스는 할 수 없다는 것입니다. 이것은 아마도 Java Abstract 클래스의 유일한 장점이지만이 장점은 매우 유용합니다.
초록 클래스에 새로운 콘크리트 방법을 추가 할 수 있으며 모든 서브 클래스는이 방법을 자동으로 얻습니다. 그러나 Java 인터페이스에 새 방법을 추가하면이 인터페이스를 구현하는 모든 클래스를 성공적으로 컴파일 할 수 없으며 인터페이스를 구현하는 각 클래스 에이 메소드의 구현을 수동으로 추가해야합니다.
2. 추상 클래스의 구현은 서브 클래스에 의해서만 제공 될 수 있습니다. 즉, 구현은 추상 클래스에 의해 정의 된 상속 된 계층 구조에만 가능합니다. 따라서 유형 정의 도구로서 추상 클래스의 효과가 크게 줄어 듭니다.
Java 인터페이스. Java 인터페이스로 지정된 메소드를 구현하는 모든 클래스는이 인터페이스의 유형을 가질 수 있으며 클래스는 여러 Java 인터페이스를 구현 하여이 클래스에 여러 유형을 가질 수 있습니다.
위에서 볼 수 있듯이 Java 인터페이스는 혼합 유형을 정의하는 데 이상적인 도구입니다. 혼합 클래스는 클래스가 특정 기본 유형의 동작뿐만 아니라 다른 2 차 행동도 가지고 있음을 나타냅니다.
3. 지점 1과 2의 추상 클래스와 Java 인터페이스의 각 장점을 결합하면 고전적인 디자인 패턴이 나옵니다.
유형을 선언하는 작업은 여전히 Java 인터페이스에 의해 수행되지만 동시에 Java Abstract 클래스가 제공 되고이 인터페이스가 구현됩니다. 이 추상 유형에 속하는 다른 콘크리트 클래스는이 Java 인터페이스를 구현 하거나이 추상 클래스를 상속받을 수 있습니다. 즉, 계층 구조에서 Java 인터페이스는 맨 위에 있고 추상 클래스가 이어집니다. 이 두 가지의 가장 큰 장점은 극대화 될 수 있습니다. 이 모드는 "기본 적응 모드"입니다.
이 패턴은 Java Language API에 사용되며 모든 이름 지정 사양 인 Abstract + 인터페이스 이름을 따릅니다.
7. 인터페이스 및 추상 클래스 사용의 전반적인 원리 :
1. 시스템과 외부 세계 간의 상호 작용을 위해 인터페이스를 창으로 사용하십시오. 외부 사용자 (다른 시스템)의 관점에서, 인터페이스는 시스템이 제공 할 수있는 서비스와 시스템 자체의 관점에서 인터페이스가 구현 해야하는 서비스의 관점에서 사용자에게 약속합니다. 인터페이스는 시스템에서 최고 수준의 초록 유형입니다. 인터페이스 상호 작용을 통해 두 시스템 간의 커플 링 시스템 A는 시스템 B를 통해 상호 작용하도록 개선 될 수 있습니다. 이는 시스템 A에 액세스 할 때 기준 변수가 기준 변수를 시스템의 인터페이스 유형으로 선언한다는 것을 의미합니다.이 참조 변수는 시스템 B에서 인터페이스의 구현 클래스의 인스턴스를 나타냅니다.
공개 인터페이스 B {}
공개 클래스 C는 b {}을 구현합니다.
공개 클래스 A {B A = New C (); }
2. Java 인터페이스 자체는 매우 안정적이어야합니다. Java 인터페이스가 공식화되면 발생하는대로 진행할 수 없습니다. 그렇지 않으면 외부 사용자와 시스템 자체에 영향을 미칩니다. 3. 초록 클래스를 사용하여 시스템의 확장 지점을 사용자 정의하고 초록 클래스를 사용하여 부분 구현을 완료하십시오. 일부 기능은 서브 클래스를 통해 구현해야합니다.
위의 기사는 Java 인터페이스의 초록 범주의 개념, 분류 및 차이점에 대해 자세히 설명합니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.