2017-03-07 4 views
1

pls, kann jemand mit Beispielen erklären, was "nicht-lokale" Variablen in Java sind?nicht lokale Variablen in Java

Mein Verständnis Nicht-lokale Variablen sind Objektvariablen. Aber würden sich Objektvariable auf die in den Objektmethoden verwendeten Variablen beziehen?

+0

Der Begriff 'nicht-lokale Variable' typischerweise nicht in Java verwendet. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html gibt Ihnen einen Überblick darüber, was was ist. – pvg

Antwort

0

Eine lokale Variable wird innerhalb { und } einer Methode deklariert. Außerhalb der Klammern wird die Variable nicht mehr zugänglich sein und Müll gesammelt werden. Soweit ich weiß Objektvariable ist nicht wirklich eine Sache in Java, können Sie eine Instanzvariable oder eine Klassenvariable haben, das wäre technisch Ihre "non-local" Variablen.

1

Instanzvariablen (nicht lokal) in einer Klasse deklariert werden, aber außerhalb eines Verfahrens, Konstruktor oder irgendwelchen block.Instance Variablen gehören zu einer Instanz einer Klasse, hat Jedes Objekt ist eine eigene Kopie der Instanzvariablen

public class InstanceClassSample { 

    String name = "Java"; 

    public void testName(){ 

     //instanceClassSample and instanceClassSample2 will have it own copy of name 

     InstanceClassSample instanceClassSample = new InstanceClassSample(); 
     InstanceClassSample instanceClassSample2 = new InstanceClassSample(); 

     System.out.println(instanceClassSample.name); 
     System.out.println(instanceClassSample2.name);  

    } 



} 
2

in der Programmiersprache Java, there are 4 kinds of variables.

Lokale Variablen: Dies sind Variablen, die innerhalb Methode Gültigkeitsbereich deklariert werden. Eine Methode speichert ihren temporären Status oft in lokalen Variablen.

Wenn Sie nach Nicht-lokale Variablen fragen, dann beziehen Sie sich auf alle anderen Variablen, aber lokal; wie

  1. Instanzvariablen (Non-statische Felder)
  2. Klassenvariablen (statische Felder)
  3. Parameter