J'ai récemment commencé à apprendre Java en utilisant JDK1.6. Si c'est une question stupide, excusez-moi s'il vous plaît.Vous pouvez accéder à des variables privées dans une classe à partir de main dans Java?
Si des variables privées peuvent être directement accédées par des objets dans main(), comment sont-elles 'privées'?
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"?!
}
}
Ce qui donne la sortie:
Account Number: 1101
Name: Scott
1101
Faites attention - le terme «variable locale» pourrait être trompeur. – finnw
@finnw Bon point. Ajusté à "dans le même champ" – developmentalinsanity
Votre deuxième phrase est également trompeuse. La méthode 'main' n'est dans aucune * instance * de' Account1'. Une déclaration un peu plus correcte serait "... les variables privées peuvent être accédées par n'importe quelle méthode (ou initialiseur) définie dans le même type". –