前端之家收集整理的这篇文章主要介绍了
在Java中使用另一个构造函数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑:
int a = 0;
int b = 3;
//Constructor 1
public ClassName (int a) {
this(a,b); //Error
//new ClassName(a,b) //No error
}
//Constructor 2
public ClassName (int a,int b) {
this.a = a;
this.b = b;
}
第一个问题:
我得到一个错误,说“b应该是静态的”.为什么我不能以这种方式使用b的默认值(3)?
第二个问题:
在第一个构造函数中,如果我使用注释部分,我不会收到错误.这是否可以接受使用?
在类中使用变量时,重要的是注意范围的有效性.你已经实例化了新的a,b变量.你欺骗自己相信这些是相同的变量.其实他们在另一个地址空间.如果要使用您的类变量,则必须将参数取出到
函数中.然后他们将与您所在的类同步,而不是将参数a,b隔离到您的
函数的范围内,
原文链接:https://www.f2er.com/java/123899.html