【发布时间】:2020-11-07 19:02:25
【问题描述】:
我有一个带有静态变量 x 的类和一个设置值的方法。
public class mainclass
{
public static int x;
public static int newvalue( int y )
{
x = y;
return y;
}
}
我有另一个类来存储整数值
public class instance {
public static void main(String[] args) {
mainclass main = new mainclass();
mainclass main1 = new mainclass();
main.newvalue( 1 );
System.out.println("x = " + main.x);
int y = main.x;
main1.newvalue( 2 );
System.out.println("x = " + main1.x);
System.out.println("x = " + main.x);
}
}
它给出输出
main: x = 1
main1: x = 2
main: x = 2
现在我喜欢有一个输出
main: x = 1
main1: x = 2
main: x = 1
有没有可能。请。
【问题讨论】:
-
是的,只需删除变量和方法上的静态修饰符
-
尽管有可能,但您不应在实例上调用静态方法或字段。这正是你现在的困惑。
static表示它属于类,而不是特定实例。 -
顺便说一句,注意 java 命名约定。类名应以大写字符开头。