[size=large]關鍵字總結
1. 訪問限定符:用來定義類,屬性 ,構造方法,方法。
public:在乙個工程內均可以用
protect:在同包同類中可以用
預設的:在同包同類中可以被使用
ps:若在不同包中,但為其子類時,預設的引數仍不可用,但是protect的引數則變為可以用的了。
private:在同一類中才可以被使用
具體**如下:
public class a
則在public class b extends a中,qq是不合法的,但是age是合法可用的。因此,protect的使用範圍比預設的大。使用範圍應為:
public>protect>預設的》private
另外,在介面中,其方法和屬性均預設為public,只有這樣別的類才能來接。
子類在重寫父類的方法時不能減小其可見範圍,但是能擴大它的重寫範圍。
this和super
this:
1.代表乙個物件
2. 代表當前所在類中的某一構造方法(在一構造方法中呼叫該類的另一構造方法時可以用this來代替)
3. public class a
public a(string a)
}super:
1.代表當前父類物件,繼承的子類要重寫構造方法時要用super來呼叫父類的構造方法。
2.呼叫父類的構造方法
在建立乙個物件時先把父類的資料傳過來,而後再傳子類模板的資料,因此,在建立子類物件時一定會呼叫父類的構造方法。
所以,在呼叫時會先檢測父類中是否有宣告,而後再重寫子類的方法,當子類轉型為父類時,其子類的方法就不可用了。
public class c extends a
final:可以用來定義屬性方法和變數
public final class a{} 表示不能被繼承
private final int age=100; 表示只能賦值一次,必須初始化,不能被修改
public final void test(){} 表示不能被重寫
final int age=100; 表示只能賦值一次,必須初始化,不能被修改
static:定義屬性,方法和**塊
public class a 這乙個類所有的物件共同使用的乙個變數指向同乙個位址,因此,在copy模板時不會將靜態屬性或者方法傳過去的
public static void test(){} 表示這個方法的呼叫只和型別相關
static的屬性和方法是不需要物件的,只需要通過類名來呼叫,因此無覆蓋這一說,也就失去了多型性
a.name="aaa";
a.test();
static //在主函式之前執行,來初始化資料
執行的先後順序:
static屬性》static塊》主函式》方法呼叫(這個需要呼叫時才會被使用)[/size]
final關鍵字總結 JAVA
final表示 這是無法改變的 或 最終形態的 含義。它可以修飾非抽象類 非抽象類成員方法和變數。會有可能因為 設計或效率 而被使用。1.final類不能被繼承,沒有子類,final類中的方法預設是final的。2.final方法不能被子類的方法覆蓋,但可以被繼承。3.final成員變數表示常量,只...
static關鍵字 java關鍵字
先按照宣告順序初始化基類靜態變數和靜態 塊,接著按照宣告順序初始化子類靜態變數和靜態 塊,而後按照宣告順序初始化基類普通變數和普通 塊,然後執行基類建構函式,接著按照宣告順序初始化子類普通變數和普通 塊,最後執行子類建構函式。import static com.test.test1.fu.say i...
Java中final關鍵字總結
final可以修飾變數 方法 類。final修飾變數時,如果該變數為基本型別,則該變數的值將不允許改變,如果該變數為物件時,表示該變數引用不可改變。對於final修飾的基本資料型別,該變數在編譯器就已經被賦值。final修飾方法時,表示該方法不允許有多型,即不允許被任何繼承類修改它。fina修飾類時...