Я хочу создать метод printKlass()
в моем классе верхнего уровня, который наследуется и печатает переменную верхнего уровня KLASS
, содержащую значение getClass().getSimpleName()
.
Итак, в случаекласса A метод printKlass
должен написать A
.
, а класс B должен вывести B
.
Но компилятор не позволит мне получить доступ к методу getClass
в классе детали - он говорит, что this
недоступен в контексте static
.
Как мне обойти это?
public class A
{
protected static final String KLASS = this.getClass().getSimpleName(); // "Cannot use 'this' in a static context
protected
public void printKlass()
{
System.out.println(KLASS);
}
}
public class B extends A
{
//...
printKlass(); // Should say "B", not "A"
//...
}