JList
을 확장하는 기능을 내 클래스 CustomList
에 추가하려고합니다. 이제 CustomList의 현재 사용법은 오버라이드되지 않은 메서드 setModel(Listmodel<E> lm)
을 JList
에서 호출합니다. Java, Java 1.6의 이전 버전에 붙어있어서 지우기 문제로 인해이 메서드를 직접 무시할 수 없습니다. 모든 연구 결과에 따르면이 메서드의 이름을 바꾸고 현재의 모든 용도를 새로 명명 된 메서드로 바꾸어야한다는 결론을 얻었습니다.내 로컬 프로젝트에서 Java API의 메소드를 사용되지 않는 것으로 선언하는 방법은 무엇입니까?
대신이 메서드를 호출해야하는 CustomList
으로 작업하는 다른 사람들에게 경고하고 싶습니다. 내 프로젝트의 원시 메소드를 로컬에서 사용하지 않는 방법을 알지 못합니다. 나의 새로운 방법을 요약
간단한 예는 다음과 같습니다 :
public class CustomList<E> extends JList {
private ArrayList list;
public void newSetModel (ListModel<E> lm){
super.setModel(lm);
list = new ArrayList<Boolean> (lm.getSize());
}
}
내가이
"소거 문제로 인해이 방법을 직접 무시할 수 없습니다." 나는 이것에 대해 들어 보지 못했다. 가능하지 않다고 확신합니까? – Michael
내가 읽었으며 시도한 모든 것이 public class가되도록 클래스 선언을 변경하는 것을 제외하고 컴파일 문제를 만들었습니다. CustomList JList 을 확장하지만 Java 1.6에서는이 선언을 사용할 수 없습니다. 나는 개인적으로 100 % 불가능하고 그렇지 않다는 것을 증명하고 싶습니다. 재정의가 가장 좋은 해결책이 될 것이고 원래의 질문에 대한 필요성을 완전히 제거 할 것입니다. –
Maverick
'public void setModel (ListModel lm) '(매개 변수 목록에서을 제거하십시오)의 문제점은 무엇입니까? –
Michael