Maison > Questions et réponses > le corps du texte
//此处用了匿名内中类
abstract class Fu
{
public abstract void sleep();
}
class Demo
{
public void fun()
{
//创建匿名对象,可以使用匿名类中类
new Fu()
{
public void sleep()
{
System.out.println("睡觉");
}
public void eat()
{
System.out.println("吃饭");
}
}
.sleep();
//创建匿名对象
new Fu()
{
public void sleep()
{
System.out.println("睡觉");
}
public void eat()
{
System.out.println("吃饭");
}
}
.eat();
}
}
class Demonmnbl1
{
public static void main(String[] args)
{
Demo de1 = new Demo();
de1.fun();
}
}
天蓬老师2017-04-18 10:55:47
Il n'est pas réécrit par Demo, mais par les deux sous-classes anonymes à l'intérieur. . Demo est uniquement responsable de l'appel
阿神2017-04-18 10:55:47
La démo n'hérite pas des classes abstraites. Contient uniquement des instances de la classe Fu.
N'ayant jamais utilisé JAVA, comment instancier une classe abstraite ? C'est ce qui est étrange.
Je pense que new Fu() devrait être équivalent à quelque chose = new Fu() Un objet anonyme qui hérite de Fu. C'est du polymorphisme en POO.
怪我咯2017-04-18 10:55:47
Lorsque vous définissez une classe interne anonyme, la JVM générera automatiquement une classe pour vous, qui est dite anonyme. En fait, pour la JVM, bien sûr elle n'est pas anonyme. l'utilisateur ne le fait pas et l'utilisateur ne peut pas accéder à cette classe. Cette classe A est une sous-classe ou une classe d'implémentation de votre nouvelle classe ou interface, et sa référence est la classe ou l'interface parent.