a)
Test t1=new Test();
En faisant cela, vous créez un Objet de la classe de Test en appelant le constructeur par défaut
b)
Test t2=new Test(){ };
Et en faisant cela, vous créez un objet d'une classe qui étend la classe de Test, cette classe n'a pas de nom et d'où il est appelé "Anonyme Intérieur de la Classe"
par exemple.
Test t2=new Test(){
// this is the body of the anonymous(un-named) class
//you can overide the method foo() here
// you can write more methods here but you will not be able to call them
// for example
public void doSomething(){}
};
doSomething() n'est pas accessible de l'extérieur, comme t2-je.e de référence(pointeur) de cet objet(objet de anonyme intérieure classe qui étend la classe de Test) comprend seulement foo() méthode référence de la classe parent
doSomething() peut être appelée que si vous faites cela,
Test t2= new Test(){
public void foo()
{
doSomething();
}
public void doSomething(){
System.out.println("Do Something");
}
};
c'est à dire explicitement appel doSomething() foo() et foo() est accessible à l'extérieur
t2.foo();
Remarque: Veuillez écrire le nom de la classe correctement, la première lettre de la classe doit être le capital comme
public class Test{}
Lorsque vous commencez à écrire d'énormes morceaux de code, il va vous aider, vous et les autres car il rend votre code Lisible.