在Java中,成員變量在繼承中的表現主要取決于它們的訪問修飾符。以下是幾種可能的訪問級別以及它們在繼承中的表現:
class Parent {
public int x;
}
class Child extends Parent {
public void accessParentVariable() {
System.out.println(x); // 直接訪問父類的public成員變量
}
}
class Parent {
protected int x;
}
class Child extends Parent {
public void accessParentVariable() {
System.out.println(x); // 直接訪問父類的protected成員變量
}
}
class Parent {
int x; // 默認訪問級別
}
class Child extends Parent {
public void accessParentVariable() {
System.out.println(x); // 直接訪問父類的默認成員變量
}
}
class Parent {
private int x;
public int getX() {
return x;
}
}
class Child extends Parent {
public void accessParentVariable() {
System.out.println(getX()); // 通過getter方法訪問父類的private成員變量
}
}
總之,Java中的成員變量在繼承中的表現取決于它們的訪問修飾符。子類可以直接訪問父類的public和protected成員變量,而無需使用任何特殊語法。對于默認訪問級別的成員變量,子類也可以直接訪問,但需要在父類中定義一個訪問級別更高的getter方法。子類無法直接訪問父類的private成員變量。