黑马程序员技术交流社区

标题: 内部类匿名内部类问题 [打印本页]

作者: pnchb    时间: 2016-5-26 23:54
标题: 内部类匿名内部类问题
//这里写抽象类,接口都行
abstract class Person {
    public abstract void show();
}

class PersonDemo {
    public void method(Person p) {
        p.show();
    }
}

class PersonTest {
    public static void main(String[] args) {
        //如何调用PersonDemo中的method方法呢?
        PersonDemo pd = new PersonDemo ();

    }
}
这里面要怎么调用method方法呢?
为啥  pd.method(p).show();
会显示p还没定义呢
作者: bbnhuang    时间: 2016-5-27 00:09
这里面要怎么调用method方法呢?

---用包含method对象的类的实例调用

为啥  pd.method(p).show();
会显示p还没定义呢

---这个p是个形参,你需要有一个person类型的实参,不然就显示未定义

---此外,show方法是个抽象方法,你没有实现它
作者: 蓝色风信子    时间: 2016-5-27 00:24
可以这样写匿名内部类
class PersonDemo
{
    public void method()
        {
                new Person()
                {
                        public void show()
                        {
                                System.out.println("我是匿名内部类");
                        }
                }.show();
        }            
}
作者: TS-松子    时间: 2016-5-27 00:32
p改成new Person()




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2