Как получить доступ к переменной дочернего класса из родительского класса во время выполнения? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть несколько дочерних классов, которые расширяют родительский класс.

Родительский класс:

Class ParentClass{

    public void printMessage() {
    Reporter.log("Child Class Name at Runtime = " +this.getClass().getSimpleName());
    Reporter.log("Child Class Variable Value at Runtime = ");
}

}

Дочерний класс A:

    Class ChildA extends ParentClass{
     String customerName = "Adam";
     printMessage();

}

Дочерний класс B:

Class ChildB extends ParentClass{
    String customerName = "Bob";
    printMessage();

    }

Когда я запускаю один из классов, я хочу, чтобы вывод был таким, как показано ниже:

Если я запускаю ClassA:

Child Class Name at Runtime = Class A
Child Class Variable Value at Runtime = Adam

Аналогично, для других дочерних классов, таких как ClassB, et c.

Я не хочу передавать аргумент customerName когда я вызываю метод printMessage () по нескольким причинам (сотни вызовов сообщений).

Как получить доступ к значению времени выполнения переменной класса дочернего класса из родительского класса?

Я проверил методы, доступные в this.getClass (), но не смог найти тот, который мог бы использовать.

Класс определяется во время выполнения. Вот почему я использую this.getClass (). GetSimpleName (), и он отлично работает при печати имени дочернего класса во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...