J'ai cette classe:Essayer de simuler le comportement de fil en classe orher avec Java
public class MyThread {
public static void main(String[] args) {
Thread thread = new Thread() {
public void run() {
System.out.print("Test from Anonymous Class!");
}
};
Thread newThread = new Thread(thread);
newThread.run();
}
}
Quand je lance ce programme, je reçois Test from Anonymous Class!
.
Maintenant, je suis en train de simuler ce comportement avec une autre classe comme ceci:
interface MyInterface {
public void doTest();
}
class MyClass implements MyInterface {
public MyClass() {}
public MyClass(MyInterface myInterface) {}
public void doTest() {
System.out.println("Test from MyClass!");
}
}
public class Test {
public static void main(String[] args) {
MyClass myClass1 = new MyClass() {
public void doTest() {
System.out.println("Test from Anonymous Class!");
}
};
MyClass myClass2 = new MyClass(myClass1);
myClass2.doTest();
}
}
Quand je lance ce programme, je reçois Test from MyClass!
. Pourquoi dans le premier exemple d'impression Test from Anonymous Class!
? Comment puis-je obtenir le même comportement avec la classe MyClass
?
Merci d'avance!
Votre deuxième exemple n'a aucun sens. Vous créez une classe anonyme, mais vous ne l'utilisez pas. Si vous voulez l'utiliser, appelez 'myClass1.doTest();' à la place. Je ne sais pas quel genre de comportement vous essayez de simuler, mais votre exemple de code ne fait rien d'intelligent.Vous passez un paramètre constructeur, mais vous ne faites rien avec. – Kayaman