최근에 JDK1.6을 사용하여 Java를 배우기 시작했습니다. 바보 같은 질문이라면, 실례합니다.Java의 main에서 클래스의 전용 변수에 액세스 할 수 있습니까?
main()의 객체가 private 변수에 직접 액세스 할 수있는 경우 어떻게 'private'입니까? 출력 제공
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
@finnw 좋은 지적. "동일한 범위"로 조정 됨 – developmentalinsanity
두 번째 문장도 오해의 소지가 있습니다. 'main' 메쏘드는'Account1'의 * instance *에 없습니다. 다소 더 정확한 문장은 "... private 변수는 같은 유형으로 정의 된 모든 메소드 (또는 초기화 메소드)에 의해 액세스 될 수 있습니다". –