bitte schnelle hilfe (es gebt um instanzierung)
-
wie geht sowas???
zuerst wird b dann c aufgerufen(ja also die methode die es jetzt nicht gibt)
class a{ TextField txta[] = new TextField[6]; } class b{ //textfield dinge wie bg, oder text einstellen, aber um das gehts nicht, //sondern ich muss // einfach auf txta zugreifen wollen } class c{ //hier aber auch zugreifen auf txta , zum bsp. getText(); }
thx bye donay
-
Kannst du das nochmal im Klartest umformulieren, was genau du machen willst?
-
Auch wenn deine Frage ziemlich wirr war, versuche ich sie zu beantworten:
Also wenn du in Klasse c auf txta von Klasse a zugreifen willst und Klasse b das auch können soll, dann probier mal folgendes:
class a {
TextField[] txta = new TextField[6];
}class b {
a fields;
public b(a param) {
fields = param;
}
}class c {
a fields;
public c(a param) {
fields = param;
}
}So und nun kannst du in deinen anderen Klassen auf die Datenfelder von a zugreifen...
Natürlich sollte Das TextField-Array dann sein.
-
hi.
danke für die antwort.
du hast erraten was ich wollte, komme aber nicht draus bei deiner erklärung:was muss ich als param übergeben???
und irgendwo müssen die txts ja noch intialiesiert werden...ich raffs jetzt nich.
wäre dankbar um erklärung.
bye donay
-
Einfach über:
a myA = new a(); b myB = new b(myA); c myB = new c(myA);
btw.: Klassennamen sollten in Java _immer_ mit einem großgeschriebenen Buchstaben beginnen.
-
aha, danke, jetzt raff ichs.
aber wieso muss ich das auf diese "umständliche" Weise machen, und kann nicht einach von jeder class drauf zugreifen???
könnt ich auch:
class b {
public b(){
a hello = new a();
hello.txt[].//....}}
ginge sowas auch?
-
Jein. Du musst dir dafür statische Variablen und ihre Eigenschaften anschauen.
z.B.: in Kapitel 8.3 im Handbuch der Java-Programmierung (http://www.javabuch.de)
-
aha,ja, ok begiffen!
dann geht sowas
static TextField txt = new TextField();
bye donay
-
Du könntest die Klasse b und c auch als inner classes erstellen. Dann hätten die beiden Klassen beliebigen Zugriff auf allen Datenfelder von a:
class a {
TextField[] txta;
...class b {
}class c {
}
}
-
thx @ all.
jetzt gehts, ich habs jetz mit static gemacht, und weiss nun auch wieso das es vorher nicht ging:
wenn ich instanziere dann werden ja auch die variablen, objekete neu gemacht, und dann hatte ich ja irgendwie 2 txt[].
ja danke
bye donay