A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王强0925 中级黑马   /  2015-10-19 22:35  /  656 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

还是需要理解一下的.

interface Animal
{
        public abstract void eat();
}

class Dog implements Animal
{
        public void eat()
        {
                System.out.println("eat dog");
        }
}

class Test
{

        public void show(Animal a) //Animal a =  new Dog();
        {
                a.eat();
        }
}

class AnimalTest
{
        public static void main(String[] args)
        {
                Test t = new Test();
                //Dog d = new Dog();
                //t.show(d);
       
                t.show(new Animal(){    // 匿名内部类
                        public void eat()
                        {
                                System.out.println("eat dog");
                        }
                });
        }
}

2 个回复

倒序浏览
看完,秒懂。
回复 使用道具 举报
能不能解释下?为什么main()放下里是new Animal而不是new dog
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马