java - 所有类中都有变量,但仅在运行时才有值(value)

标签 java

假设我有4个JAVA类都带有变量A。这个变量A的值仅取决于用户在运行时输入的值。

示例:

Abc 类

int a;
int sum = 0;
sum = a + 5;

Bcd 类

int a;
int sum = 0;
sum = a + 4;

Cde类

int a;
int sum = 0;
sum = a + 3;

类定义

int a;
int sum = 0;
sum = a + 2;

在运行时,有一个字段要求用户输入值 A,当用户输入值(例如 10)时,所有类中的所有变量“a”的值为 10。

这可能吗?

谢谢!

最佳答案

是,如果:

  • 您创建分配a的构造函数

    class Abc {
    
        int a;  
        int sum;
    
        // specific constructor receiving a
        Abc(int a) {
           this.a = a;
           this.sum = a + 5;
        }
    }
    
  • 您在请求用户输入后创建类实例:

    // ask user's input
    int userInput = // ask for number.
    Abc abc = new Abc(userInput);
    abc.sum  // here you have the value
    

ADD-ON:您可以创建如下方法,而不是在构造函数中计算总和:

class Abc {

    int a;  

    // specific constructor receiving a
    Abc(int a) {
       this.a = a;
       this.sum = a + 5;
    }

    public int getSum() {
        return this.a + 5;
    }

}

在主要部分:

// ask user's input
int userInput = // ask for number.
Abc abc = new Abc(userInput);
int sum = abc.getSum();

关于java - 所有类中都有变量,但仅在运行时才有值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33436952/

相关文章:

java - encog 神经网络 - java - 训练不起作用

java - 摄氏度到华氏度转换器程序中的语法错误

Java重载和覆盖

java - GreenRobot 和 Guava 的 EventBus 使用反射吗?

java - Spring 的 Swagger 注释

java - 无效的流 header : 2C6D0005 - StreamCorruptedException

java.net.SocketException : Connection reset for inputstream 异常

Java如何每秒增加一个int 1直到它达到15

java - Android-Helloworld应用/不清楚

java - 将变量和对象设置为 null 有帮助吗?