자바 인터페이스 기본 방법 이 가 져 온 문제 분석[이의 성 문제]

본 고의 실례 는 자바 인터페이스의 기본 방법 이 가 져 온 문 제 를 분석 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
눈여겨보다
자바 8 에 서 는 하나의 클래스 가 두 개 이상 의 인터페이스,즉'변형'의 다 중 계승 을 실현 한다 면,그 중 두 개의 인터페이스 가 하나의 이름 이 같은 default 방법 을 포함 하고 있다 면,이의 성 문제 가 발생 할 수 있다.
실전
코드

interface faceA          //    faceA
{
  void someMethod( );
  default public void DefaultMethod( )//         
  {
    System.out.println("Default method in the interface A");
  }
}
interface faceB          //    faceB
{
  default public void DefaultMethod( )//    InterfaceB        
  {
    System.out.println("Default method in the interface B");
  }
}
class DefaultMethodClass implements faceA,faceB //        InterfaceA, InterfaceB
{ public void someMethod( )          //    InterfaceA     
  {
    System.out.println("Some method in the subclass");
  }
}
public class Interfacsamedefaults
{
  public static void main(String[] args)
  {
    DefaultMethodClass def = new DefaultMethodClass( );
    def.someMethod();        //      
    def.DefaultMethod();      //      
  }
}

2 운행

설명
인 스 턴 스 화 서브 클래스 Default MethodClass 의 대상 일 때 컴 파일 러 는 같은 이름 의 default 방법 중 어느 것 을 선택해 야 할 지 몰라 서 이의 성 이 생 겼 다.따라서 하나의 클래스 가 여러 개의 인 터 페 이 스 를 실현 할 때 인터페이스 에 기본 적 인 방법 이 있 으 면 같은 이름 의 방법 이 나타 나 지 않 는 다.
자바 가 다 상속 을 금지 하 는 이 유 는 비슷 한 이의 성 을 피 하려 는 것 이다.그러나 인터페이스 에 서 는 기본 적 인 방법 을 실현 하고'이의 성'의 재난 문 으로 돌아 갈 수 있다.
더 많은 자바 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기