靜態方法大家應該都比較熟悉,在這裡主要談一下靜態方法在繼承時的一些注意事項。
1、父類方法如果是靜態方法,子類不能覆蓋為非靜態方法;
2、父類方法如果是非靜態方法,子類不能覆蓋為靜態方法;
3、父類靜態方法可以被覆蓋,允許在子類中定義同名的靜態方法,但是沒有多型。
下面對第3條特性進行一下**演示:
class demo}
class demotest extends demo}
public class teststaticextend
}析:執行該程式你會發現輸出的是兩個hello,這就是上面所說的「沒有多型」,當你將紅色的static去掉之後再執行會發現輸出的是hello和nihao,此時恢復了多型。
static 靜態方法
乙個不需要任何主叫物件的方法就是靜態方法。靜態方法需要關鍵字static來宣告於定義,他不需要主叫物件,因為它不屬於物件而是屬於類。靜態方法可以被子類繼承,也可以被重寫,但是不能實現多型性。多型性的實現重點在於動態繫結,每一次在呼叫相應方法的時候都是去動態查詢匹配,靜態方法是在類初次載入的時候就已經...
static靜態方法
static也可以修飾方法,使之成為靜態方法,我們通常用的入口函式,也就是main方法就是乙個靜態方法。注意事項 靜態方法可以直接呼叫靜態變數,不能呼叫非靜態成員變數。public class helloworld 2.可以通過建立類的物件來呼叫非靜態成員 public class hellowor...
static 靜態方法
靜態變數 原理就是共享資料段,只要沒有進行 寫入 操作就不會產生問題,但是資料通常都是用於讀和寫所以靜態變數要注意使用 什麼時候用靜態的方法 一般靜態物件適合物件無狀態的情況 或唯讀的狀態 而又頻繁使用的資料,比如連線字串,配置資訊等,而例項化適合物件有狀態的情況 變化的狀態 如 使用者類物件狀態經...