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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 孙百鑫 于 2013-7-1 07:59 编辑

匿名内部类对象的构造方法如何调用父类的非默认构造方法?

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
  1. class Person
  2. {
  3.         String name ;
  4.         int age;
  5.         Person(String name,int age){
  6.         this.name = name;
  7.         this.age = age;
  8.         }
  9.         public String getName(){
  10.                 return name;
  11.         }

  12. }


  13. class  Test8
  14. {
  15.         public static void main(String[] args)
  16.         {
  17.                 System.out.println(new Person("zhangsan",15).getName());
  18.                 //应该没有什么区别吧,无论是否复习方法,都会输出姓名的!
  19.                 System.out.println(new Person("zhangsan",15){
  20.                        
  21.                         public String getName(){
  22.                         //        return name;
  23.                         return super.getName();
  24.                         }
  25.                 }.getName());


  26.         }
  27. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报

Compiled from "Test8.java"
final class Test8$1 extends Person {
  Test8$1(java.lang.String, int);
    Code:
       0: aload_0      
       1: aload_1      
       2: iload_2      
       3: invokespecial #1                  // Method Person."<init>":(Ljava/lang/String;I)V
       6: return        
}


我们能发现这个匿名类是继承Person的。
回复 使用道具 举报
继承Person是必须的嘛,不然怎能复写getName()方法呢是吧{:soso_e100:},不过你在输出后面加个匿名内部类,倒是很少见的。
回复 使用道具 举报
帖子解决。请及时联系版主改成已解决。不然会漏分的哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马