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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张其辉 中级黑马   /  2012-12-4 22:44  /  1913 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张其辉 于 2012-12-5 15:50 编辑

匿名内部类中有构造函数吗?匿名类仅仅只是创建了一个对象,但是它调用的构造函数是那个呢??构造函数必须和类名相同,而匿名内部类又没有类名,并且匿名内部类是实现了一个接口或者继承了一个父类,那就是说他一定有个构造函数中间有super()语句访问了父类的构造函数,那么它创建的对象时是用那个构造函数呢??求解释

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

2 个回复

倒序浏览
自己写一个匿名内部类就看出来,
回复 使用道具 举报
本帖最后由 魏秀盛 于 2012-12-5 00:02 编辑

由于构造器的名字必须与类名相同,而匿名内部类没有类名,所以匿名内部类不能有构造函数,取而代之的是,将构造器参数传递给超类(superclass)构造器,尤其是在内部类实现接口的时候,不能有任何构造函数,不仅如此,还要像下面这样提供一组括号:
new InterfaceType()
   {
      methods and data
    }
给你一个代码例子看看,请看下面:
Person queen=new Person("Mary"); //实例化一个Person类对象
Person count=new Person("Dracula"){...};//构造一个扩展(继承)了Person类对象的匿名内部类

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马