static是靜態的意思,用於修飾成員變量和成員方法,被靜態修飾的成員不能訪問非靜態的成員,靜態成員屬於類,隨着類的加載而加載,可以直接被類名調用。
Java中是否可以覆蓋(override)一個private或者是static的方法?
重寫是子類對父類中的方法進行重新編寫,即外殼不變,核心重寫,要求子類與父類方法的返回值,方法名,參數值,參數類型必須一致,子類的訪問權限大於等於父類,子類方法不能拋出比父類方法更多的異常。private方法是類的私有方法,只能在類的內部被訪問,不參與繼承,所以不能被重寫。而靜態方法不能被重寫分爲兩方面原因:一方面重寫是爲了實現子類實例的特殊化,但靜態方法是屬於類本身的,不屬於實例,所以不能被重寫;另一方面重寫的前提是實例調用方法,由其實際類型所決定,是動態綁定的,但靜態方法的調用卻是由聲明類型所決定,是靜態綁定的,所以不能被重寫只能被隱藏。