java - 如何使构造函数中定义的对象对类的其余部分可见

标签 java constructor

我试图从同一类中的方法访问构造函数中定义的对象。

其他方法是否可以访问对象,同时仍在构造函数中对其进行初始化?

class Number {
    public Number (int num1, int num2) {
        Calculator calc1 = new Calculator(num1);
        Calculator calc2 = new Calculator(num2);
    }

    public void displayNumber() {
        System.out.println(calc1.result);
    }
}

最佳答案

你不能那样做。您唯一的选择是在构造函数外部声明它们,并在其中初始化它们:

class Number{

    Calculator calc1;
    Calculator calc2;

    public Number(int num1, int num2){

       calc1 = new Calculator(num1);
       calc2 = new Calculator(num2);

    }
    public void displayNumber(){

        System.out.println(calc1.result);
    }
}

在构造函数中声明的变量,就像在任何方法中声明的变量一样,超出了其他方法的范围。

关于java - 如何使构造函数中定义的对象对类的其余部分可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50252318/

相关文章:

java - 如何将用户重定向到 Cloud Firestore 中的特定 Activity ?

java - 使用静态工厂样式构造函数将元素添加到一个或多个静态列表

scala - 从 Scala 构造函数提前返回

java - 我想从列表中删除已完成的订单

java - 用于大小检索的 JPA Hibernate Fetch Collection

java - 检测Android App收到扫描请求时是否发送BLE扫描响应

java - 是否可以有一个 jar Manifest 来使用文件夹中的所有 jar

c++ - C++中构造函数的初始化顺序

c++ - 在 C++ 中,如果我们不在构造函数中初始化数据成员,它们在类中的值是什么?

javascript - 不同类型功能的术语