Я код java с BlueJ для Mac. Я добавил библиотеку stdlib.jar (From princeton http://introcs.cs.princeton.edu/java/stdlib/). Перед добавлением этой библиотеки у меня был свой собственный класс с именем StdDraw.java (конкретный класс, который я использовал в проекте) и копировал/вставлял код. Я также скорректировал часть кода и добавил несколько новых строк. Поскольку я не могу редактировать код библиотек, как я могу переопределить или расширить классы библиотек, чтобы добавить дополнительные функции?Переопределение классов пользовательской библиотеки в Java
ответ
Просто расширить класс,
public MyClass extends ClassFromLib
убедитесь, что файл библиотеки банку на пути к классам. Если автор этого класса объявил его окончательным, что он не подходит для подкласса. то лучшей альтернативой является использование шаблона делегата.
Я написал код ниже в этом редакторе, поэтому никаких обещаний, которые он выполняет, но, надеюсь, вы получите эту идею.
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
}
}
Когда я попробовал это, он сказал: «Невозможно продлить окончательный класс». – Vasseurth
Поскольку классы библиотеки final
, вы не можете их продлить. Другой вариант - обернуть их в свои собственные классы. Например, вы можете создать свой собственный класс рисования, который имеет экземпляр StdDraw
, которому он делегирует. Для многих ваших методов вы можете просто вызвать соответствующий метод экземпляра StdDraw
, или вы можете имитировать переопределение с помощью методов реализации самостоятельно.
- 1. Переопределение классов в Java
- 2. переопределение Java загрузчик классов
- 3. Заменить класс внутри библиотеки классов Java с пользовательской версии
- 4. Переопределение классов
- 5. Переопределение встроенной библиотеки Grails?
- 6. Распространение кода библиотеки классов java
- 7. Java: переопределение методов из не унаследованных классов
- 8. Создание пользовательской галереи - переопределение onFling
- 9. JNA для пользовательской библиотеки
- 10. Переопределение комбинированных классов css
- 11. переопределение иерархии классов проверки
- 12. Переопределение встроенных классов (Python)
- 13. Переопределение каталога классов WAR
- 14. Переопределение C++ классов
- 15. Переопределение типов классов - C++
- 16. Переопределение абстрактных классов в VB6
- 17. Переопределение классов потоков Mule
- 18. Переопределение CSS существующей библиотеки
- 19. Библиотеки классов Nuget и библиотеки локальных классов
- 20. Переопределение ресурсов в проекте библиотеки
- 21. Добавление пользовательской библиотеки классов .dll на сайт asp.net/C#
- 22. Переопределение непараметризированных классов, вложенных в параметризованный внешний класс в Java
- 23. Вспомогательный класс для пользовательской библиотеки в codeigniter
- 24. Исходный код для классов библиотеки Java
- 25. Java: Импорт библиотеки на несколько классов
- 26. Предоставление библиотеки Java, но скрытие некоторых классов
- 27. Библиотеки классов для огромной многословия Java
- 28. Импорт функций пользовательской библиотеки C++ в C#
- 29. Файлы библиотеки классов библиотеки C#
- 30. Архитектура пользовательской библиотеки android
Вы спрашиваете, как расширить класс? – gobernador