Czy jest jakis sposob zeby dodac metode do istniejacej juz klasy z biblioteki?
Rozszerzyć klasę.
Są narzędzia które pozwalają na zrobienie tego za pomocą edycji bytecodu.
Wcisnąć nowa metodę za pomocą programowania aspektowego.
Sorry, za dwa posty, ten wyzej do kasacji. Rozszerzenie klasy tu raczej nie wchodzi w gre, bo potrzebuje dostepu do prywatnych metod. Ale dzieki :)
Skoro tak, to pytanie brzmi co chcesz osiągnąć?
Koziołek napisał(a)
Wcisnąć nowa metodę za pomocą programowania aspektowego.
a jak to mozna zrobić ?
Nie do końca jest to takie proste :)
http://www.coderanch.com/t/60118/Application-Frameworks/Application-Frameworks/Aspectj-Spring-adding-methods
W drugim poście jest przykład z AspectJ.
nie wiedzialem ze do tego mozna wykorzystac springa.
Lepiej moim zdaniem użyć refleksji - za jej pomocą można wywołać prywatną metodę.
Nie musisz nawet dziedziczyć po tej klasie. Utwórz nową instancję tej klasy i następnie wywołaj prywatną metodę za pomocą refleksji.
http://java.sun.com/docs/books/tutorial/reflect/member/methodInvocation.html
Koziołek napisał(a)
Skoro tak, to pytanie brzmi co chcesz osiągnąć?
Chcialem w bibliotece LWUIT zrobic w klasie TextArea automatyczne przewijanie w dol, znalazlem sposob na to, ale odwoluje sie on do prywatnych metod. Stad pytanie :) W kazdym badz razie, zrobilem to inaczej.