>  기사  >  Java  >  Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점

Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점

PHPz
PHPz앞으로
2023-05-06 14:52:131195검색

인터페이스란 무엇인가요?

인터페이스라고 하면 USB는 확실히 누구에게나 익숙합니다~
인터페이스는 표준이자 사양입니다.
참고: 인터페이스가 공식화되면 사용자와 구현자 모두 표준을 따라야 합니다.

Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점

인터페이스 구문: ( JDK7. 0)

(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:

A. Public Default Return Value Type Method Method (Portrait List) {

// 구현 부분의 일부를 구현하는 방법}}} B. 참고: 인터페이스 중국어 메소드는 Default 수식자 대표 대표 대표 대표로 표현됩니다. , 이 메서드는 메서드 구현 부분을 가질 수 있습니다. c. 기본 메서드 액세스 권한은 공개입니다.

d. 기본 메서드는 재정의될 수 있지만 재정의된 경우 액세스 한정자는 공개입니다.

(2) 정적 메서드:

a. 공개 정적 반환 값 유형 메서드 이름(공식 매개변수 목록) {
                                                                                                             


(1) 인터페이스 9.0부터 프라이빗으로 메소드 수정 가능

(2) 구문:

프라이빗 반환 값 유형 메소드 이름(형식 매개변수 목록) {

                                                                                                      사용   사용   사용   사용          사용   사용             사용 사용 ‐                  .                           .

(3) 프라이빗 메서드는 인터페이스의 내부 사용을 위한 것이며 일반적으로 코드 중복을 줄이기 위해 다른 메서드의 공통 논리 부분을 추출합니다.

인터페이스 분류

상수 인터페이스:

인터페이스에는 속성만 있고 메서드는 없습니다. , 애플리케이션이 거의 없습니다

빈 인터페이스:

일반적으로 표시된 인터페이스라고 하며 인터페이스에는 속성과 추상화가 없습니다.
예: IO 객체 직렬화가 적용됩니다.

기능 인터페이스:

한 개만 있습니다. 람다 표현식에서 널리 사용되는 인터페이스의 추상 메서드(정적 및 기본값은 주의하지 않음)

추상 클래스와 인터페이스의 차이점은 무엇인가요? (참고하세요~)

Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점

위 내용은 Java 버전 간 인터페이스 구문의 차이점과 추상 클래스와 인터페이스 간의 유사점 및 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제