> Java > java지도 시간 > 본문

Java 인터페이스를 상속받을 수 있나요?

青灯夜游
풀어 주다: 2019-11-18 14:38:58
원래의
7564명이 탐색했습니다.

Java 인터페이스를 상속받을 수 있나요?

Java 인터페이스를 상속받을 수 있나요?

java 인터페이스는 상속이 가능하며 다중 상속이지만 인터페이스만 상속할 수 있고 클래스는 인터페이스만 구현할 수 있습니다. 인터페이스는 다른 인터페이스 또는 여러 인터페이스를 상속할 수 있으며 공통 클래스는 여러 인터페이스를 구현할 수 있습니다.

인터페이스는 상수 값과 메서드 정의의 모음입니다. 인터페이스는 특별한 종류의 추상 클래스입니다.

Java 클래스는 단일 상속입니다. classB classA 확장

java 인터페이스는 여러 소스에서 상속될 수 있습니다. Interface3 확장 Interface0, Interface1, 인터페이스...

클래스의 다중 상속이 허용되지 않는 주된 이유는 A가 B와 C를 동시에 상속하고 B와 C를 동시에 상속받기 때문입니다. 동시에 D 메소드가 있습니다. A 어느 것을 상속할지 어떻게 결정합니까?

하지만 인터페이스에는 그런 문제가 없습니다. 인터페이스는 모두 추상 메서드이며 누가 상속하든 관계가 없으므로 인터페이스는 여러 인터페이스를 상속할 수 있습니다.

참고:

1) 클래스가 인터페이스를 구현하는 경우 인터페이스의 모든 메서드를 구현해야 합니다.

2) 메소드의 이름, 반환 유형, 매개변수는 인터페이스의 것과 정확히 동일해야 합니다. 메서드의 반환 유형이 void가 아닌 경우 메서드 본문에는 최소한 하나의 return 문이 있어야 합니다.

3) 인터페이스 메소드는 기본적으로 public 타입이므로 구현할 때 public으로 수정해야 합니다(그렇지 않으면 기본적으로 protected 타입으로 설정되어 메소드 사용 범위가 줄어듭니다).

예:

interface A{
    void a1();
}
 
interface B{
    void b1();
}
 
interface C extends A,B{//注意该语法只对接口的继承是合法的
    void c1();
}
 
class D implements C{
 
    @Override
    public void a1() {}
 
    @Override
    public void b1() {}
 
    @Override
    public void c1() {}
}
로그인 후 복사

인터페이스 특성:

1. 인터페이스는 암시적으로 추상적입니다. 인터페이스에서는 abstract 키워드를 사용할 필요가 없습니다.

2. 인터페이스의 각 메소드도 암시적으로 추상화되어 있으며 이를 선언할 때 abstract 키워드도 필요하지 않습니다.

3. 인터페이스의 메소드는 모두 공개됩니다.

4. 컴파일할 때 public 추상 수정자는 인터페이스

5에 정의된 메서드에 자동으로 추가됩니다. Java 인터페이스의 멤버 변수는 public으로만 공동으로 수정할 수 있습니다. static final. 그리고 public static final을 작성할 필요가 없으며 컴파일 중에 자동으로 추가됩니다.

위 내용은 Java 인터페이스를 상속받을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!