永发信息网

java空白final的问题

答案:3  悬赏:20  手机版
解决时间 2021-12-03 09:20
java空白final的问题
最佳答案
空白final可以不用定义时赋值,楼主类中定义的变量a与f都没有问题。
问题在于构造函数,两个构造函数中,实例化时只会有一个被调用,导致会有一个变量未初始化。
比如,FinalTest x=new FinalTest(2);时,这时候a有值了,可是f是没有初始化的。
全部回答
final修饰符 表示常量
要在定义的时候赋值
例如
private final int a= 3;追问可是《java编程思想》里说 “java允许生成空白final...... 必须在域的定义处或者每个构造器中用表达式对final赋值"
而且也给出了一个例子 编译通过了 = =
奇了怪了
class Final{
Final(){
System.out.println("Final constructor");
}
}
public class FinalTest{
private int a;
private Final f;
public FinalTest(int i){
a=i;
System.out.println(a);
}
public void FinalTest(Final f){
this.f=f;
}
public static void main(String[] args){
FinalTest x=new FinalTest(2);
Final p=new Final();
}
}
-------------------------------------------------------------------------------------------------
改成这样就好了,你的程序中private final int a;表示定义一个final型变量,表示a是常数,就不能修改了,你在FinalTest的构造器中又改变a的值肯定要报错了。还有最后一句话我不知道你是要实例化FinalTest类还是Final类。自己看看,有不明白的请追问,祝你学习进步。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
全字少一横怎么读
我看童话世界里,美丽与丑陋并存,善良与邪恶
乔雅登一年了还没吸收应该怎么办?
间接费包括哪些
想在广州进厂,请问广州哪里的袜子厂比较多?
数学中,下面第7题,用分布式积分法怎么求?
14毫米的钢筋长1米怎么样就算他的重量
我买了棉花来处理伤口,但说明书上说:普通级
熟牛奶出现棉花状是什么东西?
单选题以下作品与浪漫主义风格有巨大区别的是
手表带数字12、4、8是什么表
lofter总是获取数据失败怎么办
总梦见自己复读,什么意思?
CIS战略的功能?
通达印务(人民西路与兴杨街交叉口)地址在哪,
推荐资讯
这个是什么鱼,舟山带来的,说是海里的货,求
2.7英寸的屏幕有多大
青岛瑞 丽诗具体路线怎么走啊,我专门从龙口
冬菊傲寒,红梅相伴,铮铮傲骨,方显气节 有
抄写一段夏天景色的文字15字
vivo x7玩阴阳师总是无响应,怎么回事
企业诚信经营包含哪些内容?
10月1日k516次车从哪个车站出发
脑控可以用什么干扰?
这个标志什么意思
轴上面装轴承的位置为什么要淬火吗?
predicament room什么意思.....
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?