Juste plus élaboration de @Chthonic poste de projet:
Comme par l'exemple que vous avez donné, il est clair que vous n'êtes pas allé à travers la documentation java
variables membres dans une classe ces sont appelés champs.
Variables dans une méthode ou un bloc de code: elles sont appelées variables locales.
Pour élaborer cette plus permet de prendre un autre exemple
/*Camera object is class variable*/
Camera camera = new Camera();
Comme la portée de c'est au niveau de la classe cela devient un membre de la classe ou sur le terrain. Ne considérez pas que seulement int
ou String
peuvent devenir des champs. Une variable d'objet de classe peut également être un champ ou un membre de classe.
/*Here the BOX object is inside a method*/
public static void main(String[] args){
Box box = new Box();
}
Un objet est déclaré et instancié dans une méthode principale. La portée de cet objet est limitée à la portée de la méthode. Ce sera à l'intérieur des accolades de la méthode principale seulement.
Par exemple. Maintenant, supposons que la modification de votre exempl:
public static void main(String[] args){
Box box = new Box();
if(null != camera){
// You can access camera inside main as it is a class member
// the scope is a full class.
}
} // mian method ends.
if(null == box){ // compiler will shout!!!
// accessing box object outside main method
// not allowed cause the box objects scope is over inside main method only.
}
Vous pourriez être intéressé par certains [tutoriels] (https://docs.oracle.com/javase/tutorial/). En particulier, le [tutoriel sur les bases du langage] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html) devrait pouvoir vous aider (regardez les [Variables] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html) section). – Jeffrey