[英]Issue with static variables in Java
我需要以下代碼的輸出說明:
class Stats
{
static int a = 10;
int b = 20;
void printMe()
{
System.out.println(a+b);
}
}
public class Static
{
public static void main(String args[])
{
Stats s1 = new Stats();
Stats s2 = new Stats();
s1.b = 30;
s1.printMe();
s1.a = 20;
s2.printMe();
}
}
輸出:40 40
我希望它是40和50,因為應該只有一個靜態變量“ a”的副本,該副本可以通過引用“ s1”修改為20。
a
是靜態的也被稱為“ 類變量 ”,的值a
將在所有實例等於Stats
,
因此在第一次調用: a
就是等於10和b
是等於30為S1,所以a+b
是等於40,
以及在所述第二呼叫: a
就是等於20和b
是等於20將s2,所以a+b
是等於40
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.