Mac 용 BlueJ 코드 java. stdlib.jar 라이브러리 (princeton에서 http://introcs.cs.princeton.edu/java/stdlib/)를 추가했습니다. 이 라이브러리를 추가하기 전에 StdDraw.java (프로젝트에서 사용하고 있던 특정 클래스)라는 이름의 클래스가 있고 코드를 복사/붙여 넣었습니다. 나는 또한 일부 코드를 수정하고 새로운 라인을 추가했다. 라이브러리 코드를 편집 할 수 없기 때문에 추가 기능을 추가하기 위해 라이브러리 클래스를 재정의하거나 확장 할 수 있습니까?Java의 사용자 라이브러리 클래스 무시.
1
A
답변
0
그냥 단순히
public MyClass extends ClassFromLib
라이브러리 jar 파일을 클래스 패스에 있는지 확인 클래스를 확장합니다. 그 클래스의 작성자가 서브 클래 싱에 적합하지 않다는 것을 나타내는 최종 선언을하면. 가장 좋은 대안은 위임 패턴을 사용하는 것입니다.
나는이 편집기에서 아래의 코드를 작성 했으므로이 규칙이 준수한다는 약속을하지 않았지만 잘하면 당신은 아이디어를 얻는다.
public Myclass {
private ClassFromLib cfl = new ClassFromLib();
public void methodA(){
//Do whatever you need here
cfl.methodA(); //Doesn't have to be the same name.
//Do whatever you need here
}
}
+0
내가 이것을 시도했을 때, "최종 수업을 연장 할 수 없다"고했습니다. – Vasseurth
1
라이브러리 클래스는 final
이므로 확장 할 수 없습니다. 또 다른 옵션은 자신의 클래스로 래핑하는 것입니다. 예를 들어 위임 할 StdDraw
의 인스턴스가있는 사용자 고유의 그리기 클래스를 만들 수 있습니다. 많은 메소드의 경우 StdDraw
인스턴스의 해당 메소드를 호출하거나 직접 메소드를 구현하여 대체를 시뮬레이트 할 수 있습니다.
관련 문제
- 1. Java의 클래스 라이브러리 란 무엇입니까?
- 2. Bjam : 특정 라이브러리 무시
- 3. QT에서 라이브러리 클래스 사용자 정의
- 4. Qt 라이브러리 클래스 사용자 정의
- 5. Java의 Morphophoneme 처리 라이브러리
- 6. Java의 다항식 미적분을위한 라이브러리?
- 7. 자바의 막대한 자질을위한 클래스 라이브러리
- 8. Java의 일반 클래스 라이브러리 사용법을 이해할 수 없습니다.
- 9. 사용자 지정 멤버 공급자, 사용자 작성 무시
- 10. Java의 비트 연산 클래스
- 11. Java의 DataSet 클래스?
- 12. 비슷한 Java의 "Handler"클래스
- 13. Java의 모니터 클래스
- 14. Java의 HexapawnBoard 클래스
- 15. java의 추상 클래스
- 16. Java의 실시간 데이터 클래스
- 17. Java의 BigInteger 클래스?
- 18. Java의 시스템 클래스
- 19. Java의 클래스 경로 변수
- 20. Java의 그래픽 클래스
- 21. 배열로 사용자 정의 클래스 라이브러리 C#
- 22. 사용자 지정 컨트롤이있는 IlMerge Silverlight 클래스 라이브러리
- 23. Java의 전자 메일 템플릿 라이브러리
- 24. Java의 모든 색상 조작 라이브러리?
- 25. Metro 클래스 라이브러리, FileInfo 대체?
- 26. 엔터프라이즈 라이브러리 클래스 라이브러리 App.Config
- 27. 사용되지 않는 라이브러리 클래스
- 28. 클래스 라이브러리 디버그
- 29. SVN 무시 무시 무시
- 30. SWF로드 및 기존 라이브러리 심볼 무시
수업 연장 방법을 묻는 질문이 있으십니까? – gobernador