[英]How can I get a variable of a class from an abstract class?
如果我有一個抽象類和一個將其擴展的類,那么如何獲取將其擴展到擴展的類的類的變量,如下所示:
abstract class A {
void getVariable () {
//get *variable* from class B and print it out
}
}
class B extends A {
int variable = 5;
}
您不能直接從子類訪問變量字段,但是可以這樣做
abstract class A {
abstract int getVariable ();
void anotherMethod() {
System.out.println("Variable from child: " + getVariable());
}
}
class B extends A {
int variable = 5;
@Override
int getVariable() {
return variable;
}
}
忘記變量:您可能會繼承和覆蓋的是行為 (方法)。 嘗試這個:
abstract class A {
protected abstract int getVariable ();
}
class B extends A {
private int variable = 5;
protected int getVariable ()
{
return variable;
}
}
class C extends A {
protected int getVariable ()
{
return 0; // This class might decide not to define its own variable.
}
}
variable
僅對於B
類是已知的。 它的超類A
對此一無所知。 如果將variable
移至超類A
且未將其標記為private
,則可以從B
訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.