브리지 메서드 만들기에 대한 몇 가지 질문이 있습니다. 공변량 무시를 위해 브리지 기법을 적용 할 수 있습니다. 이제 공식 도움말을 예로 들어 보겠습니다.브리지 메서드 만들기
public class Node<T>{
private T data;
public Node(T data){ this.data=data;}
public void setData(T data){
System.out.println("Node.setData");
this.data=data;
}
}
public class MyNode extends Node<Integer>{
public MyNode(Integer data){ super(data); }
public void setData(Integer data){
System.out.println("MyNode.setData");
this.data=data;
}
}
브릿지 방법이 만들어지지 않도록합시다. 따라서 런타임 클래스 MyNode
에는 setData(Integer)
과 setData(Object)
의 두 가지 방법이 있습니다. 여기서 마지막은 Node
에서 상속됩니다. 우리가 전화 할 때 setData(new Inetegr(5))
은 setData(Integer)
이라고합니다. 우리가 Object o= new Integer(5); setData(o);
이라고 쓰면 setData(Object)
이라고합니다. 그것은 사실이 아닙니다. 두 가지 질문 :
- 소개 브리지 방법의 이유를 올바르게 알고 있습니까?
- 브리지 방법을 만드는 데 필요한 충분 조건은 무엇입니까?
안녕하세요 - 아마도 여기에 대한 답변을 읽어 보면 큰 도움이됩니다. http://stackoverflow.com/questions/5007357/java-generics-bridge-method – Meesh