java - 在这儿并没有申明FU为Demo的父类,为什么还是可以继承重写呢
迷茫
迷茫 2017-04-18 10:53:47
0
3
416
//此处用了匿名内中类
    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();
        }
    }
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(3)
Peter_Zhu

Demo가 아니라 내부의 두 익명 하위 클래스에 의해 다시 작성되었습니다. . 데모는 전화만 담당합니다

阿神

데모는 추상 클래스를 상속하지 않습니다. Fu 클래스의 인스턴스만 포함합니다.

JAVA를 사용해 본 적이 없는데 어떻게 추상 클래스를 인스턴스화할 수 있나요? 이것이 이상한 것입니다.

new Fu()는 Fu를 상속하는 익명 개체 = new Fu()와 동일해야 한다고 생각합니다. 이것이 OOP의 다형성입니다.

刘奇

익명 내부 클래스를 정의하면 JVM이 자동으로 클래스를 생성하는데, 이는 실제로 JVM의 경우 익명이 아닙니다. 사용자는 그렇지 않으며 이 클래스에 액세스할 수 없습니다. 이 A 클래스는 새 클래스 또는 인터페이스의 하위 클래스 또는 구현 클래스이며 해당 참조는 상위 클래스 또는 인터페이스입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!