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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 元笙 中级黑马   /  2016-5-31 22:36  /  401 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天老师讲到了匿名内部类,真的解决了困扰我多年的"那啥".讲的真的是通俗易懂,什么是匿名内部类,它不是一个类,而是一个对象-匿名子类对象.当遇到传参的参数是抽象类型咋办,抽象类无法实例化,这时使用多态,传一个子类对象给父类引用可以吧(向上转型),一方面可以创建一个抽象类的继承子类来实现,但是更方便的是使用匿名子类对象,代码如下:
  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. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马