Только не пинайте сильно, только начинаю расбираться с Java
Допустим что есть:
class classA {
String d;
void c() {
d = "Переменная";
classB b = new classB();
}
}
class classB {
classB() {
// как здесь обратиться к classA.d;
// и как вообще можно работать с классом который вызвал.......
};
}
Можно так:
class classA {
String d;
void c() {
d = "Переменная";
classB b = new classB(this);
}
}
class classB {
classB(classA a) {
if(a!=null) {
String s=a.d;
...
}
}
}
Здравствуйте, punk4, Вы писали:
P>Только не пинайте сильно, только начинаю расбираться с Java
P>Допустим что есть:
P>P>class classA {
P> String d;
P> void c() {
P> d = "Переменная";
P> classB b = new classB();
P> }
P>}
P>class classB {
P> classB() {
P> // как здесь обратиться к classA.d;
P> // и как вообще можно работать с классом который вызвал.......
P> };
P>}
P>
Один вариант, это передавать параметром.
class classA {
String d;
void c() {
d = "Переменная";
classB b = new classB(this);
}
}
class classB {
classB(classA a) {
System.out.println(a.d);
// как здесь обратиться к classA.d;
// и как вообще можно работать с классом который вызвал.......
};
}
Если таких classA может быть несколько разных классов, тогда для них создаётся общий интерфейс.
Есть ещё и ущербный путь, через закрытое API Sun узнать кто вызвал метод ли конструктор. Но это чревато.
B>Один вариант, это передавать параметром.
B>B>class classA {
B> String d;
B> void c() {
B> d = "Переменная";
B> classB b = new classB(this);
B> }
B>}
B>class classB {
B> classB(classA a) {
B> System.out.println(a.d);
B> // как здесь обратиться к classA.d;
B> // и как вообще можно работать с классом который вызвал.......
B> };
B>}
B>
B>Если таких classA может быть несколько разных классов, тогда для них создаётся общий интерфейс.
B>Есть ещё и ущербный путь, через закрытое API Sun узнать кто вызвал метод ли конструктор. Но это чревато.
Списибо. Помогло...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>