인터페이스라고 하면 USB는 확실히 누구에게나 익숙합니다~
인터페이스는 표준이자 사양입니다.
참고: 인터페이스가 공식화되면 사용자와 구현자 모두 표준을 따라야 합니다.
(1) 키워드: 인터페이스
(2) 구문: 인터페이스 인터페이스 이름{}
(3) 인터페이스가 컴파일된 후 해당 .class 파일이 생성됩니다.
(4) 인터페이스는 객체를 생성할 수 없지만, 선언할 수 있습니다. 참조 인터페이스 이름 참조 이름
(5) 인터페이스에 생성자 메서드가 없습니다.
(6) 인터페이스의 모든 속성은 공용 정적 상수입니다.
(기본값: public static final)
(7) 인터페이스는 공용 추상 메소드입니다.
(기본 수정자: public abstract)
참고: 인터페이스에 있는 메소드의 기본 액세스 권한은 공개입니다.
클래스에 있는 메소드의 기본 액세스 권한은 기본값입니다.
구현 클래스입니다. 인터페이스:
구문:
class class Name Implements 인터페이스 이름 {}
참고: 구현의 키워드는 Implements입니다.
(1) 구현 클래스가 추상 클래스가 되기를 원하지 않는 경우, ) 인터페이스의 모든 메소드
(2) 구현 클래스는 인터페이스의 메소드를 대체합니다. 메소드를 사용할 때 액세스 권한은 공개되어야 합니다. 사용법:
(1) 인터페이스 유형의 참조에서는 해당 객체만 다형성 애플리케이션을 반영하여 해당 구현 클래스를 저장할 수 있습니다.
참고: 인터페이스는 여러 구현 클래스를 정의할 수 있습니다. 인터페이스: (매우 중요~)
인터페이스 간의 관계는 다중 상속입니다
( 1) 인터페이스는 동시에 여러 상위 인터페이스를 상속할 수 있습니다.
(2) 구문:
인터페이스 인터페이스 이름은 상위 인터페이스 이름 1을 확장합니다. , 상위 인터페이스 이름 2{}클래스와 인터페이스 간의 관계는 다중 구현입니다(1) 클래스는 동시에 여러 인터페이스를 구현할 수 있습니다
(2) 구문:
클래스 클래스 이름 구현 인터페이스 이름 1, 인터페이스 이름 2 {}(3) 클래스는 동시에 여러 인터페이스를 구현할 수 있지만 원하지 않습니다. 추상 클래스가 되려면 모든 인터페이스에서 모든 메소드를 구현해야 합니다클래스는 여러 인터페이스를 구현하고 동시에 클래스를 상속할 수 있습니다.( 구현된 인터페이스의 상위 인터페이스)
(1) 클래스가 상속하는 경우 동시에 여러 인터페이스를 구현하는 상위 클래스는 먼저 상속한 후 구현해야 합니다.
(2) 구문:
클래스 클래스 이름 확장 상위 클래스 이름 구현 상위 인터페이스 1, 상위 인터페이스 2 {}참고: 먼저 확장한 다음 을 구현해야 합니다. 클래스 사이에 존재: 단일 상속--- ---extends
클래스와 인터페이스 사이에 존재: 다중 구현------구현
인터페이스 사이에 존재: 다중 상속 ------extends
인터페이스의 영향:
1. 인터페이스 간의 다중 상속 관계와 클래스와 인터페이스 간의 다중 구현 관계로 인해 다형성이 더욱 다양하고 복잡해집니다
2. 강제 유형 변환의 두 당사자 중 하나만 인터페이스 유형인 경우 컴파일이 통과되어야 합니다. 작업은 다음 두 가지 상황으로 구분됩니다.a. 변환할 형식 중 하나인 경우 작업이 통과됩니다.
b. 변환된 참조에 저장된 실제 개체 형식이 아닌 경우. 변환할 항목, 컴파일은 통과하지만 실행 시 오류가 보고됩니다. 오류 메시지: Java.lang.ClassCastException(유형 변환 예외)
인터페이스 구문: (JDK8.0 )
(1) 기본값 method:
// 구현 부분의 일부를 구현하는 방법}}} B. 참고: 인터페이스 중국어 메소드는 Default 수식자 대표 대표 대표 대표로 표현됩니다. , 이 메서드는 메서드 구현 부분을 가질 수 있습니다. c. 기본 메서드 액세스 권한은 공개입니다.
d. 기본 메서드는 재정의될 수 있지만 재정의된 경우 액세스 한정자는 공개입니다.(2) 정적 메서드:
a. 공개 정적 반환 값 유형 메서드 이름(공식 매개변수 목록) {
(1) 인터페이스 9.0부터 프라이빗으로 메소드 수정 가능
프라이빗 반환 값 유형 메소드 이름(형식 매개변수 목록) {사용 사용 사용 사용 사용 사용 사용 사용 ‐ . .
(3) 프라이빗 메서드는 인터페이스의 내부 사용을 위한 것이며 일반적으로 코드 중복을 줄이기 위해 다른 메서드의 공통 논리 부분을 추출합니다.
인터페이스에는 속성만 있고 메서드는 없습니다. , 애플리케이션이 거의 없습니다
일반적으로 표시된 인터페이스라고 하며 인터페이스에는 속성과 추상화가 없습니다.
예: IO 객체 직렬화가 적용됩니다.
한 개만 있습니다. 람다 표현식에서 널리 사용되는 인터페이스의 추상 메서드(정적 및 기본값은 주의하지 않음)
추상 클래스와 인터페이스의 차이점은 무엇인가요? (참고하세요~)
위 내용은 Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!