我最近開始使用JDK1.6學習Java。如果這是一個愚蠢的問題,請原諒。類中的私有變量可以從Java中的main訪問?
如果私有變量可以通過main()中的對象直接訪問,它們是如何「私人」的?
public class Account1
{
private int accountNum;
private String name;
Account1() {
accountNum = 1101;
name = "Scott";
}
public void showData() {
System.out.println("Account Number: " + accountNum +
"\nName: " + name);
}
public static void main(String[] args) {
Account1 myA1 = new Account1();
myA1.showData();
System.out.println(myA1.accountNum); //Works! What about "Private"?!
}
}
其中給出的輸出:
Account Number: 1101
Name: Scott
1101
小心 - 術語「局部變量」可能會引起誤解。 – finnw 2010-02-08 21:42:41
@finnw好點。調整到「在同一範圍內」 – developmentalinsanity 2010-02-08 21:46:59
你的第二句話也是誤導。 'main'方法不在'Account1'的任何*實例*中。一個更正確的陳述將是「......私有變量可以通過任何在同一類型中定義的方法(或初始化程序)來訪問」。 – 2010-02-08 22:52:27