黑马程序员技术交流社区
标题:
匿名内部类对象的构造方法如何调用父类的非默认构造方...
[打印本页]
作者:
hadexs
时间:
2013-6-29 20:00
标题:
匿名内部类对象的构造方法如何调用父类的非默认构造方...
本帖最后由 孙百鑫 于 2013-7-1 07:59 编辑
匿名内部类对象的构造方法如何调用父类的非默认构造方法?
作者:
L.I.F.E
时间:
2013-6-29 20:40
class Person
{
String name ;
int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
}
class Test8
{
public static void main(String[] args)
{
System.out.println(new Person("zhangsan",15).getName());
//应该没有什么区别吧,无论是否复习方法,都会输出姓名的!
System.out.println(new Person("zhangsan",15){
public String getName(){
// return name;
return super.getName();
}
}.getName());
}
}
复制代码
作者:
L.I.F.E
时间:
2013-6-29 20:47
L.I.F.E 发表于 2013-6-29 20:40
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的。
作者:
lipingan0520
时间:
2013-6-30 08:13
继承Person是必须的嘛,不然怎能复写getName()方法呢是吧{:soso_e100:},不过你在输出后面加个匿名内部类,倒是很少见的。
作者:
孙百鑫
时间:
2013-7-1 07:59
帖子解决。请及时联系版主改成已解决。不然会漏分的哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2