Привета У меня есть базовый класс, содержащий один элемент строки как Belows:инициализировать переменный-член базового класса внутри класса ребенка и использовать в другом классе
public class BaseClass
{
public String test;
}
класс Ребенка, проходящий базовый класс, где я хочу, чтобы инициализировать проверочное значение ,
public class ChildClass extends BaseClass
{
public void initialize()
{
System.out.println("inside constructor of ChildClass.");
this.test="stringtest";
}
}
Тест класс, где я хотел бы использовать значение тестовой переменной базового класса:
public class TestClass extends BaseClass
{
public void test()
{
new ChildClass().initialize();
System.out.println(this.test);
}
public static void main(String[] args) {
new TestClass().test();
}
}
Теперь мой выше код печатает пустой внутри тестового класса. почему так? хотя я инициализировал тестовую переменную в дочернем классе? я не ошибаюсь где-то в концепциях Java?
Вы создаете * новый экземпляр * ChildClass' и инициализируете этот экземпляр - not * this *. Кроме того, постарайтесь привыкнуть к * не * используя общедоступные поля, как можно раньше ... –
Привет всем спасибо за ответ !!! Я хотел бы продолжить эту дискуссию. что я хотел, так это то, что мой дочерний класс просто предположил, чтобы инициализировать тестовую переменную базового класса, а затем я хотел использовать тестовую переменную базового класса в других моих классах. так как я должен это сделать? Я не хочу делать экземпляры моего дочернего класса в тестовом классе. TIA –
Это не совсем понятно, что вы имеете в виду, боюсь. Непонятно, почему «TestClass» вообще расширяет «BaseClass». –