/*
使用匿名(anonymous inner class)的时候有的时候可能我们需要在构造方法中使用参数,也就是
进行一定的初始化工作,只要我们在父类中加入有参的构造方法就可以,匿名class不能有自己的构造方法
所以调用的是父类中的构造方法,我们在anonymous inner class中会经常用到super关键字
如果匿名class 需要对自己的成员变量通过外部变量进行初始化工作那么这个外部对象必须是final(普通变量
也一样)
如果想实现类似构造方法的初始化工作比如说判断某个得到的值是否满足范围等可以同过所谓的实体初始化
(instance initialization)来做,就可以完成了,但是他不能重载,所以只能有一次实现构造方法功能
的机会
*/
class Father {
private int i ;
Father(int i){
this.i = i;
}
int printI(){
return i;
}
}
public class InnerClass7 {
public Father f() {
return new Father(10) {
private String s = "hello";
private double d = Math.random();
public int printI() {
System.out.println(super.printI());
return 1;
}
};
}
public Father g(final String s1,final int d1) {
return new Father(1) {
private String s = s1;
private int d = d1;
public int printI() {
System.out.println(s);
System.out.println(d);
return 2;
}
};
}
public Father k(final String s1,final int d1) {
return new Father(1) {
private int d ;
{
System.out.println("OH~~~~~");
if(d1>100)
d = d1;
else
d = -999;
}
private String s = s1;
public int printI() {
System.out.println(s);
System.out.println(d);
return 2;
}
};
}
public static void main(String args[]) {
InnerClass7 ic = new InnerClass7();
Father f1 = ic.f();
f1.printI();
Father f2 = ic.g("La",13);
f2.printI();
Father f3 = ic.k("La",13);
f3.printI();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
innerclass.rar (71个子文件)
innerclass
MNA$A$B.class 467B
InnerClass6$1.class 894B
InnerClass11.java 438B
InnerClass9$1.class 184B
InnerClass11.class 536B
MNA.class 511B
InnerClass7$3.class 831B
HaveInner$Inner.class 477B
Sequence$PSelector.class 958B
Inner$A.class 538B
InnerClass4.class 627B
InnerClass10$Test.class 369B
InnerClass8.java 1KB
A.class 600B
InnterClass!.java 0B
InnterClass1$Destination.class 498B
Ship.class 357B
InnerClass7.class 864B
D.class 136B
InnerClass9.class 864B
InnerClass7$1.class 691B
InnerClass9$PD$InPD.class 335B
ShowClass.class 132B
inner.class 373B
Test.java 687B
Inner$B.class 538B
InnerClass9$PD.class 847B
Sequence.class 882B
InnerClass7.java 2KB
InnterClass1.java 746B
InnterClass1.class 788B
Sequence$1.class 178B
Show.class 134B
Ship$Contents.class 394B
InnerClass12.java 436B
InnerClass5.class 731B
InnerClass10.java 434B
Father.class 295B
InnerClass3.java 830B
InnerClass11$PShowClass.class 678B
InnerClass9$PC.class 453B
InnerClass2.java 570B
A$1PShow.class 515B
InnerClass5.java 1KB
InnerClass4.java 1KB
MNA$A.class 589B
Selector.class 182B
InnerClass11$1.class 187B
Inner$D.class 538B
InnerClass9.java 1KB
Destination.class 146B
InnerClass8.class 900B
InnerClass3.class 745B
InnerClass10.class 454B
InnerClass13.class 454B
HaveInner.class 259B
InnerClass2.class 931B
InnerClass6.class 644B
A$1InIF.class 608B
InnterClass1$Contents.class 427B
InnerClass13.java 668B
Inner$C.class 538B
InnerClass7$2.class 779B
InnerClass6.java 784B
Ship$Destination.class 565B
A$2PShow.class 515B
inner$PDestination.class 781B
C.class 115B
Son.class 622B
inner$1.class 172B
InnerClass12.class 511B
共 71 条
- 1
资源评论
wang_df_cn
- 粉丝: 0
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功