import java.util.Scanner;
公共类帐户{ int number1,number2,sum;
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("Enter your first number");
number1 = input.nextInt();
System.out.println("Enter your Second number");
number2 = input.nextInt();
sum = number1 + number2;
System.out.println("Your Answer is" + sum);
input.close();
}
}
答案 0 :(得分:0)
number1
和number2
以及sum
是实例变量。
在创建类的实际实例之前它们不会存在,并且只能通过类的所述实例使用。
由于每个实例都有适当的值,此时编译器对它们一无所知。
您需要在main方法中本地声明它们,或者作为类中的静态变量声明它们:
static int number1;
static int number2;
static int sum;
答案 1 :(得分:0)
如果不创建对象,则无法在静态方法中引用非静态变量。代码中的变量number1, number2 and sum
是非静态的,您在main()
中直接引用它们,它们被声明为静态。
如果您的程序不需要多个对象,或者number1, number2 and sum
的值对于所有对象都是相同的,那么您可以通过使这些变量保持静态来解决问题。
static int number1, number2, sum;
静态意味着什么?
如果您希望为每个对象提供类Account
的多个对象和变量的不同副本,那么您可以执行以下操作。
步骤1:保持变量原样。不要让它们静止。
步骤2:在引用非静态变量的同时在main()
中创建一个对象。
内部main()
:
Account obj=new Account();
Account obj1=new Account();
//objects created and each object has a separate copy of the variables
obj.number1=....;
obj.number2=………;
obj1.number1=……;
//so on.
总结: