zugriffsproblem

Status
Nicht offen für weitere Antworten.

Murke

Mitglied
hallo!

ich habe ein problem mit einer methode.

class 1 {

methode X()

main{
...
...
...
}
}

class 2 {
int anzahl;
}

in X() will ich objekte bearbeiten die ich in der main von class2 erschaffen habe, aber beim compilen kommt ein fehler, dass beim objekt 2.anzahl der fehler: package 2 does not exist.

habe ich hier einen total doofen denkfehler??, wenn ja bitte verzeiht mir ;)
Murke
 
S

SlaterB

Gast
objekt 2.anzahl
mit Leerzeichen dazwischen?

lautet der Fehler 'package 2 does not exists' wortwörtlich oder redest du nur beispielsweise von class 1, class 2 usw.

worum gehts überhaupt?,
mehr Quelltext..

weißt du was ein package ist?
wenn die Fehlermeldung von packages handelt,
dann ist doch interessant in welchen packages die Klassen liegen
(falls du packages verwendest)
 

Murke

Mitglied
mit leerzeichen?
ich wollte eigentlich nur klarmachen, dass ich ein objekt von class 2 erschaffen habe mit z.b. dem namen 2(ok ein bisschen verwirrend) und als ich versucht habe bei(m objekt) 2.anzahl (also den integer in dem objekt 2 von der class 2 zu setten versucht habe, sacht der compiler mir, dass "package 2 does not exist" dazu der verweis auf die zeile wo ich versucht hab 2.anzahl zu setten mit einem ^ das auf den punkt zwischen der 2 und anzahl steht (2--->.<---anzahl)

jupp ich weis was packages sind, aber verweden in meinem prog nur javax.swing.* und java.util.* und java.awt.*
und die klassen hab ich in dem programm selbst gemacht, also die liegen in keinen packages, (auch nicht in welchen marke eigenbau)...

Code:
public class test	{
	public static void main(String[] args)	{
	test t1 = new test();
	setvalues();
	System.out.println(t1.s1.anzahl);
	}
public static void setvalues()	{
	t1.s1.anzahl = 5;
}
}

class test	{

subby s1 = new subby();

	class subby	{

	int anzahl = 0;

	}
}

mfg murke
 

Leroy42

Top Contributor
Code:
public static void main(String[] args)   { 
   test t1 = new test(); 
   setvalues(); 
   System.out.println(t1.s1.anzahl); 
} 
public static void setvalues()   { 
   t1.s1.anzahl = 5; 
}

Deine Variable t1 ist nur lokal in der Methode
main bekannt/existent. Die Methode setvalues
kennt diese Variable gar nicht.
 

Murke

Mitglied
d.h.....?
sollte ich das dann ungefaehr so machen?

Code:
public class test	{
	public static void main(String[] args)	{
	test t1 = new test();
	setvalues(t1);
	System.out.println(t1.s1.anzahl);
	}
public static void setvalues(test t2)	{
	test t2;
	this.t1 = t1;
	t1.s1.anzahl = 5;
}
}

class test	{

subby s1 = new subby();

	class subby	{

	int anzahl = 0;

	}
}

bitte bedenkt, dass ich anfaenger bin ;)
MfG murke
 

Leroy42

Top Contributor
Dir fehlen vollständig die Grundlagen.
Code:
public class test   { 
   public static void main(String[] args)   { 
   test t1 = new test(); 
   setvalues(t1); 
   System.out.println(t1.s1.anzahl); 
   } 
public static void setvalues(test t2)   { 
   test t2; 
   this.t1 = t1; 
   t1.s1.anzahl = 5; 
} 
}

geht hinten und vorne nicht: Entweder
Code:
public class test   { 
   static test t1;
   public static void main(String[] args)   { 
   test t1 = new test(); 
   setvalues(); 
   System.out.println(t1.s1.anzahl); 
   } 
public static void setvalues()   { 
   t1.s1.anzahl = 5; 
} 
}
oder
Code:
public class test   { 
   public static void main(String[] args)   { 
   test t1 = new test(); 
   setvalues(t1); 
   System.out.println(t1.s1.anzahl); 
   } 
public static void setvalues(test t)   { 
   t.s1.anzahl = 5; 
} 
}
 

Murke

Mitglied
@ Leroy42
hmmm...ich weis nicht, aber ich glaub der code von dir funkts auch nicht so ganz, zumindest der untere, da kommt auch eine oder zwei fehlermeldungen mit " test.java:6: cannot resolve symbol
symbol : variable s1
location: class test
System.out.println(t1.s1.anzahl);
^
test.java:9: cannot resolve symbol
symbol : variable s1
location: class test
t.s1.anzahl = 5;
^
2 errors
"
 

Leroy42

Top Contributor
So geht's:

Code:
class test   { 
  public static void main(String[] args)   { 
    test t1 = new test(); 
    setvalues(t1); 
    System.out.println(t1.s1.anzahl); 
  } 

  public static void setvalues(test t2)   { 
    t2.s1.anzahl = 5;
  }


  subby s1 = new subby(); 

  static class subby   { 
	   int anzahl = 0; 
  }
}


Aber mein Vorschlag: Beschäftige dich besser erst mal damit,
funktionsfähige Beispiele aus einem Tutorial zu verstehen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben