Maison  >  Questions et réponses  >  le corps du texte

java - 在这儿并没有申明FU为Demo的父类,为什么还是可以继承重写呢

//此处用了匿名内中类
    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();
        }
    }
迷茫迷茫2743 Il y a quelques jours419

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师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

    répondre
    0
  • 阿神

    阿神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.

    répondre
    0
  • 怪我咯

    怪我咯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.

    répondre
    0
  • Annulerrépondre