1. 程式人生 > >java繼承時能包括靜態的變量和方法嗎?舉例說明!

java繼承時能包括靜態的變量和方法嗎?舉例說明!

end col set 繼承 clas mar ext 調用 static

子類繼承了超類定義的所有實例變量和方法包括靜態的變量和方法(馬克-to-win見下例),(視頻下載) (全部書籍)並且為它自己增添了獨特的元素。子類只能有一個超類。Java不支持多超類的繼承。

子類擁有超類的所有成員,但它不能直接訪問超類中被聲明成private的成員。馬克-to-win:兒子能拿父親保險箱中的東西嗎?為什麽要放保險箱?

例1.1---本章源碼

class A1Mark {
static int si=5;//靜態的屬性和方法一樣屬於子類,用子類或父類類名都可以調用靜態變量或方法
int i; // 同一個包內,public by default
private int j; // private to A
int getJ() {
return j;
}
static int getSi(){
return si;
}
void setij(int x, int y) {
i = x;
j = y;
}
}
// A1Mark‘s j is not accessible here.
class B1 extends A1Mark {
static int sbi=6;//子類可以正常有靜態變量
int total;
void sum() {
// total = i + j; // ERROR, j is not accessible here
total = i + si+getJ()+getSi(); // no problem , i can be used here.
}
/*子類的靜態方法甚至可以覆蓋父類的靜態方法。*/
static int getSi(){
return si*10;
}
}
public class Test {
。。。。。。。。
詳情請見:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner3_web.html#SubclassIncludeStatic

java繼承時能包括靜態的變量和方法嗎?舉例說明!