자신의 인수를 받아들이는 인터페이스를 확장하는 클래스를 어떻게 구현할 수 있습니까?

Durrahan

이 토론의 관용구를 사용하고 있습니다. 인터페이스 인스턴스 메서드가 동일한 클래스의 인수 만 받아들이도록하려면 어떻게해야합니까? :

interface ITree<SELF extends ITree<SELF>>{
    SELF getNode(int index);

    void setNode(int index, SELF node);
}

내 질문은 ITree를 확장하는 Tree를 어떻게 구현할 수 있습니까? 내 현재 코드는 다음과 같습니다.

public class B {
private ITree tree;
    public B (ITree tree){
        this.tree = tree;
    }
}

예상대로 Type을 추가해야한다는 경고가 표시됩니다. B를 사용하는 클래스가 어떤 Type을 사용해야하는지 결정하도록하고 싶습니다. 또는 그런 사소한 문제에 대해 제네릭을 전혀 사용하고 싶지 않습니다.

편집하다:

답변을 평가 한 후 해결책을 찾았습니다. 악마의 세부 사항은 다음 줄에 있습니다.

<T extends ITree<T>>

다음은 전체 소스 코드입니다.

public class B<T extends ITree<T>> {
private T tree;
    public B (T tree){
        this.tree = tree;
    }
}
님침 스키
public class B<T extends ITree> {
private T tree;
    public B (T tree){
        this.tree = tree;
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

typescript에서 클래스의 인스턴스가 아닌 클래스를받는 인터페이스를 어떻게 만들 수 있습니까?

분류에서Dev

Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

어떻게 형 인터페이스의 변수를 선언하고 다음 변수가 구현 인터페이스, 어떻게이 문제를 테스트 할 수있는 클래스의 객체를 할당?

분류에서Dev

이름을 모르고 특정 인터페이스를 구현하는 클래스를 어떻게 호출 할 수 있습니까?

분류에서Dev

클래스가 하나의 속성으로 인터페이스를 구현하는 방법은 다른 인터페이스도 구현할 수 있습니까?

분류에서Dev

추상은 인터페이스를 어떻게 구현할 수 있습니까?

분류에서Dev

인터페이스는 구현 클래스에없는 공용 속성 / 메서드를 어떻게 노출 할 수 있습니까?

분류에서Dev

UML : 컴포넌트는 어떻게 인터페이스를 구현할 수 있습니까?

분류에서Dev

클래스는 인터페이스 메서드의 구현으로 수퍼 클래스의 메서드를 어떻게 고려합니까?

분류에서Dev

인터페이스 메소드를 구현하지 않고도 어떻게 활용할 수 있습니까?

분류에서Dev

내 클래스는 인터페이스와 QObject를 어떻게 상속받을 수 있습니까?

분류에서Dev

사용자를 삭제하고 업데이트 할 수있는 관리자 인터페이스를 제공하기 위해 기본 Laravel 5 인증 클래스를 확장하려면 어떻게해야합니까?

분류에서Dev

데이터 클래스를 함수 인수로 부분적으로 어떻게 확인할 수 있습니까?

분류에서Dev

Prism에서 공통 인터페이스를 구현하는 컬렉션 IEnumarable <T>로 모든 인스턴스를 어떻게 주입 할 수 있습니까?

분류에서Dev

클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

분류에서Dev

PHP 클래스가 구현중인 인터페이스 유형의 객체를 반환 할 수 있습니까?

분류에서Dev

(임의) 인수로 (임의) 함수를 호출하는 함수를 어떻게 구현할 수 있습니까?

분류에서Dev

인터페이스 구현이 다른 클래스의 다른 인스턴스를 만들 수있는 디자인 패턴을 찾고 있습니다.

분류에서Dev

C # 인터페이스를 구현하고 이벤트 인수를 확장 할 수 있습니까?

분류에서Dev

java.lang 클래스의 Exception 클래스를 확장하는 클래스를 어떻게 정의 할 수 있습니까?

분류에서Dev

룸 데이터베이스를 구현할 때 어떻게 인터페이스의 객체를 생성 할 수 있습니까?

분류에서Dev

TestNG의 ITestResult 인터페이스 또는 클래스입니까? 인터페이스 어떤 클래스가이 인터페이스를 구현 했습니까?

분류에서Dev

T에서 반변적인 Consumer <Optional <T >>를 받아들이는 메서드를 어떻게 구현할 수 있습니까?

분류에서Dev

매개 변수를 허용하는 인터페이스 메소드를 어떻게 구현할 수 있습니까?

분류에서Dev

특정 인터페이스를 구현하는 클래스 만 메서드를 호출 할 수 있는지 확인 하시겠습니까? 씨#?

분류에서Dev

파이썬의 클래스 데코레이터에서 인수를 어떻게 전달할 수 있습니까?

분류에서Dev

Typescript에서 확장 한 클래스의 메서드를 어떻게 구현할 수 있습니까?

분류에서Dev

어떻게 <div> 안의 텍스트를 페이드 인하 고 페이드 아웃 할 수 있습니까?

Related 관련 기사

  1. 1

    typescript에서 클래스의 인스턴스가 아닌 클래스를받는 인터페이스를 어떻게 만들 수 있습니까?

  2. 2

    Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

  3. 3

    Java에서 Java 인터페이스를 구현하는 JRuby 클래스를 어떻게 인스턴스화 할 수 있습니까?

  4. 4

    어떻게 형 인터페이스의 변수를 선언하고 다음 변수가 구현 인터페이스, 어떻게이 문제를 테스트 할 수있는 클래스의 객체를 할당?

  5. 5

    이름을 모르고 특정 인터페이스를 구현하는 클래스를 어떻게 호출 할 수 있습니까?

  6. 6

    클래스가 하나의 속성으로 인터페이스를 구현하는 방법은 다른 인터페이스도 구현할 수 있습니까?

  7. 7

    추상은 인터페이스를 어떻게 구현할 수 있습니까?

  8. 8

    인터페이스는 구현 클래스에없는 공용 속성 / 메서드를 어떻게 노출 할 수 있습니까?

  9. 9

    UML : 컴포넌트는 어떻게 인터페이스를 구현할 수 있습니까?

  10. 10

    클래스는 인터페이스 메서드의 구현으로 수퍼 클래스의 메서드를 어떻게 고려합니까?

  11. 11

    인터페이스 메소드를 구현하지 않고도 어떻게 활용할 수 있습니까?

  12. 12

    내 클래스는 인터페이스와 QObject를 어떻게 상속받을 수 있습니까?

  13. 13

    사용자를 삭제하고 업데이트 할 수있는 관리자 인터페이스를 제공하기 위해 기본 Laravel 5 인증 클래스를 확장하려면 어떻게해야합니까?

  14. 14

    데이터 클래스를 함수 인수로 부분적으로 어떻게 확인할 수 있습니까?

  15. 15

    Prism에서 공통 인터페이스를 구현하는 컬렉션 IEnumarable <T>로 모든 인스턴스를 어떻게 주입 할 수 있습니까?

  16. 16

    클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

  17. 17

    PHP 클래스가 구현중인 인터페이스 유형의 객체를 반환 할 수 있습니까?

  18. 18

    (임의) 인수로 (임의) 함수를 호출하는 함수를 어떻게 구현할 수 있습니까?

  19. 19

    인터페이스 구현이 다른 클래스의 다른 인스턴스를 만들 수있는 디자인 패턴을 찾고 있습니다.

  20. 20

    C # 인터페이스를 구현하고 이벤트 인수를 확장 할 수 있습니까?

  21. 21

    java.lang 클래스의 Exception 클래스를 확장하는 클래스를 어떻게 정의 할 수 있습니까?

  22. 22

    룸 데이터베이스를 구현할 때 어떻게 인터페이스의 객체를 생성 할 수 있습니까?

  23. 23

    TestNG의 ITestResult 인터페이스 또는 클래스입니까? 인터페이스 어떤 클래스가이 인터페이스를 구현 했습니까?

  24. 24

    T에서 반변적인 Consumer <Optional <T >>를 받아들이는 메서드를 어떻게 구현할 수 있습니까?

  25. 25

    매개 변수를 허용하는 인터페이스 메소드를 어떻게 구현할 수 있습니까?

  26. 26

    특정 인터페이스를 구현하는 클래스 만 메서드를 호출 할 수 있는지 확인 하시겠습니까? 씨#?

  27. 27

    파이썬의 클래스 데코레이터에서 인수를 어떻게 전달할 수 있습니까?

  28. 28

    Typescript에서 확장 한 클래스의 메서드를 어떻게 구현할 수 있습니까?

  29. 29

    어떻게 <div> 안의 텍스트를 페이드 인하 고 페이드 아웃 할 수 있습니까?

뜨겁다태그

보관