黑马程序员技术交流社区

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

作者: 元笙    时间: 2016-5-31 22:36
标题: Java的匿名内部类
今天老师讲到了匿名内部类,真的解决了困扰我多年的"那啥".讲的真的是通俗易懂,什么是匿名内部类,它不是一个类,而是一个对象-匿名子类对象.当遇到传参的参数是抽象类型咋办,抽象类无法实例化,这时使用多态,传一个子类对象给父类引用可以吧(向上转型),一方面可以创建一个抽象类的继承子类来实现,但是更方便的是使用匿名子类对象,代码如下:
  1. class Demo  {
  2.         public static void main(String[] args)  {
  3.                 new PersonDemo().method(new Person(){
  4.                         public void show(){
  5.                                 System.out.println("匿名子类对象");
  6.                         }
  7.                 });
  8.         }
  9. }

  10. abstract class Person {
  11.         public abstract void show();
  12. }

  13. class PersonDemo {
  14.         public void method(Person p){
  15.                 System.out.println("如何调用形参为抽象类的成员方法?");
  16.         }
  17. }
复制代码





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