在Java中使用另一个构造函数

前端之家收集整理的这篇文章主要介绍了在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

猜你在找的Java相关文章