黑马程序员技术交流社区

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

作者: Java1211张美红    时间: 2015-12-28 15:19
标题: 匿名内部类
class NoNameInnerClass {
        public static void main(String[] args) {

                Outer.method().show();

                PersonDemo pd = new PersonDemo();
                //参数是抽象类,因为抽象类无法直接new,所以,通过匿名内部类,实例化一个子类对象
                //Person p = new Person(){//重写方法体};       这是有名字的
                //new Person(){//重写方法体};                  这是匿名的子类,而且位于NoNameInnerClass类内部,所以称为匿名内部类
               
                pd.show(new Person(){   
                        public void show(){
                                System.out.println("你好啊!");
                        }
                });
        }
}
//抽象类
abstract class Person {
        public abstract void show();
}
//匿名内部类:继承该类或实现接口的子类,并且实例化子类对象
//某个类中的某个方法的参数是抽象类,抽象类不能直接实例化,所以,可以通过匿名内部类实例化子类对象
class PersonDemo {
        //show方法的参数是抽象类
        public void show(Person p){
                p.show();
        }
}




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