0
我想在我的頂級類中創建一個方法printKlass()
,該類繼承並打印包含值getClass().getSimpleName()
的頂級變量KLASS
。如何使用繼承的方法在繼承層次結構的每個級別顯示SimpleClassName?
因此,在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"
//...
}