*用於修飾類和變量,指定其適用范圍的關鍵字有:
-
public:表示公開的類和變量,既所有的類都可以引入使用的。
-
protected:表示受保護的類,只有子類和本類可以引入使用。
-
默認package:表示同包中和本類中可以引入使用。
-
private:表示私有的,只在本類中可以引入使用。
- 所以顯而易見,如果一個class前面如果添加了public修飾則可以被所有類引入使用,如果沒有加任何修飾詞,那么就只能夠被同包中的類和本類引入使用。
*在java中public void與public static void有什么區別 ?
public void 修飾非靜態方法,該方法屬於對象,在對象初始化(new Object())后才能被調用;public static void 修飾靜態方法,該方法屬於類,使用類名.方法名直接調用。非靜態方法之間可以互相調用,非靜態方法也可以調用靜態方法;但是靜態方法中不可以直接調用(未初始化的)非靜態方法。public static void main 屬於靜態方法,遵循上述原則。特殊之處,Java 可以通過對象名調用靜態方法(對象名.靜態方法),不會導致語法錯誤(syntax error),但是不推薦這樣使用,因為靜態方法與非靜態方法在被調用時應當明確區分,而且其他 OOP 語言如 C#,Swift,Objective-C 都沒有這樣的語法。
