ich möchte meinen Code faktorisieren, weil ich wirklich einen großen gleichen Block des Codes in zwei Klassen habe. Aber sie sind in anonymen runnable Klasse, hier so eine Beschreibung meiner SituationJAVA: factorise code -> runnable anonyme Klasse
class A {
A(){}
do_A_function(){}
}
class B extends A{
B(){
Runnable runB=new Runnable() {
public void run() {
while (true) {
super.do_A_function();
do_B_function();
}
}
};
new Thread(runB).start();
}
do_B_function(){}
}
class C extends A{
C(){
Runnable runC=new Runnable() {
public void run() {
while (true) {
super.do_A_function();
do_C_function();
}
}
};
new Thread(runC).start();
}
do_C_function(){}
}
und wie Sie sich vorstellen können Ich möchte so etwas wie das
class A {
A(){
Runnable runC=new Runnable() {
public void run() {
while (true) {
do_A_function();
do_C_function() OR do_B_function();
}
}
};
new Thread(runA).start();
}
do_A_function(){}
}
class B extends A{
B(){
super();
}
do_B_function(){}
}
class C extends A{
C(){
super();
}
do_C_function(){}
}
vielleicht mit einem Argument in der super() Rufen Sie an, aber es gibt keine Funktion Pointer in Java, und ich möchte keine Reflektion durchführen, wenn es möglich ist.
Vielen Dank für Ihre Hilfe
Perfect, das eine gute Lösung ist, danke –