Michi: Static-Fragen zu Java

Beitrag lesen

Hallo Forum,

ich lerne zurzeit für unsere Java-Klausuren und hätte leider doch ein paar Fragen, in der ich durch die Scripte nicht schlau wurde.

public class Klasse1 {
   public int instanzvar=1;
   public int variable_eins;
   public int variable_zwei;
   public static int etwas_statisches=100;

public Klasse (int var) {
    variable_eins=var;
    variable=eins=etwas_statisches;
    etwas_statisches++;
   }

}

1. Ich habe nun in einem Script gesehen, wo eine Insatzvariable in einer anderen Klasse direkt aufgerufen werden konnte. In etwa wie:

public static void main (String[] args {
     if(Klasse.instanzvar==1) System.out.println("1");
   }

Kann man ohne weiteres auf eine Instanzvariable (Egal, ob String, int) in einer anderen Klasse direkt zugreifen, wenn diese public ist? (Könnte man den Inhalt auch ändern?)

2. Was mich auch etwas verwundert hat, dasses statische Instanzvariablen gibt. Sobald man in einer andere Klasse mehrere Objekte vom Typ "Klasse1) bilded, gehört die statische Instanzvariable praktisch nicht als Instanz zum Objekt ne?
Irgendwo (nicht in dem Objekt, wo ich erzeuge) wird dann der Inhalt von "etwas_statisches" wohl gespeichert, so dass ich beim erzeugen eines zweites Objektes, auf den neuen Wert von "etwas_statisches" zugreifen kann.

3. Thread.yield() hat mich etwas verschickt. Schaue mir dies aber nochmals genau an oder suche ein gutes und verständliches Beispiel dazu.

Ich hoffe, dass es dies war. Hab das Script eigentlich durch und dürften keine anderen fragen mehr auftauchen ;)

Grüße