能力值:
( LV2,RANK:10 )
|
-
-
2 楼
1.final修饰的成员变量没有默认值
2.final初始化可以在三个地方
(1)声明的时候初始化
(2)构造函数里初始化
(3)要是没有static修饰的话可以在非静态块里初始化,要是有static修饰的话可以在静态块里初始化
3.使用final成员前要确保已经初始化
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我遇到的问题是:
class abc extends def {
final w myfinal;
abc(xyz w, ghi u){
super(u);
myfinal=w;
}
..............................
}
在这样的一个类中,空白final变量myfinal, 如何做到在super之前就给值。因为我发现编译后,总是先执行supe(), 而我发现反编译了一些别的类后居然是先执行构造器的第二行,再执行super(), 这倒底是如何做到的呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
终于找到办法解决。 不过再问一下,这个做法算不是行内保护java程序的高明手段呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
楼主说说怎么解决的呗
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
两种办法:
1. 改class代码,比较麻烦,每次编译后都得改。
2.写一个方法绕过它,其实也蛮简单的哟。
|
|
|