在Java中使用另一个构造函数
发布时间:2020-12-14 17:47:04 所属栏目: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应该是
考虑:
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隔离到您的函数的范围内,
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |