Java 인터페이스는 일련의 메소드 선언이자 메소드 특성의 모음입니다. 인터페이스는 메소드의 특성만 갖고 있으며 메소드 구현은 없습니다. 따라서 이러한 메소드는 서로 다른 위치에서 서로 다른 클래스로 구현될 수 있습니다. , 이러한 구현은 서로 다른 동작(함수)을 가질 수 있습니다.
두 가지 의미:
첫째, Java 언어에 존재하는 구조인 Java 인터페이스는 특정 구문과 구조를 가지고 있습니다. 메소드의 특성 집합은 논리적 추상화입니다. 전자를 "Java 인터페이스"라고 하고 후자를 "인터페이스"라고 합니다.
FunctionJava 언어 사양에서 메소드의 특성에는 메소드 이름, 매개변수 수 및 유형만 포함되며 메소드의 반환 유형, 매개변수 이름 및 유형은 포함되지 않습니다. 던져진 예외. Java 컴파일러는 메서드의 오버로드를 확인할 때 이러한 조건에 따라 두 메서드가 오버로드된 메서드인지 여부를 결정합니다. 그러나 Java 컴파일러가 메소드 대체를 확인할 때 두 메소드(수퍼 유형 및 하위 유형)에서 발생한 반환 유형과 예외가 동일한지 추가로 확인합니다.
인터페이스 구현과 클래스 상속에 대한 규칙은 다릅니다. 데이터 보안을 위해 클래스에는 상속 중에 직접 부모 클래스가 하나만 있습니다. 이는 단일 상속입니다. 그러나 인터페이스는 여러 인터페이스를 구성할 수 있습니다. 클래스가 여러 클래스에서 상속될 수 없다는 단점 상속과 인터페이스의 이중 설계는 클래스의 데이터 보안을 유지할 뿐만 아니라 위장된 다중 상속도 실현합니다.
Java 인터페이스 자체에는 구현이 없습니다. 왜냐하면 Java 인터페이스는 표현을 포함하지 않고 공개 동작만 설명하므로 Java 인터페이스는 Java 추상 클래스보다 더 추상적입니다. 그러나 인터페이스는 클래스가 아니므로 new 연산자를 사용하여 인터페이스를 인스턴스화할 수 없습니다.
예: x=new Compare(...);//오류입니다. 그러나 인터페이스 변수 Comparable x를 선언할 수 있습니다. //이는 허용됩니다.
Java 인터페이스의 메서드는 추상 및 공개만 가능합니다. Java 인터페이스는 생성자를 가질 수 없습니다. Java 인터페이스는 공개, 정적 및 최종 속성을 가질 수 있습니다. 즉, 인터페이스의 속성은 public static final int value=5; 로 정의할 수 있습니다.
인터페이스는 메소드의 특성과 메소드의 구현을 분리합니다. 이러한 분리는 인터페이스가 종종 해당 역할과 관련된 작업 및 속성을 패키지하는 역할을 나타내고 이 인터페이스를 구현하는 클래스가 이 역할을 수행하는 행위자라는 사실에 반영됩니다.
역할은 서로 다른 배우가 연기하며, 공통된 역할을 수행하는 것 외에는 서로 다른 배우에게 공통점이 필요하지 않습니다.
위 내용은 자바 인터페이스란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!