【abstract】抽象的
1. abstract可以修飾類和成員方法,被abstract修飾的類稱爲抽象類,被abstract修飾成員方法叫抽象方法。抽象類不一定有抽象方法,但擁有抽象方法的類一定是抽象類;
2. 被abstract修飾的類不能直接實例化,需要通過子類實現,所以抽象類一定有子類;
3. 繼承抽象類的子類必須要重寫抽象類中被abstract修飾的抽象方法,如果不繼承就必須要把自己變成抽象的子類。
【final】最終的
1. final可以修飾類,成員變量,成員方法,局部變量/形參。
2. final修飾的類不能被繼承(即不能有子類);
3. final修飾的方法不能被重寫;
4. final修飾的成員變量是常量,必須在定義時就必須給一個終值,並且不能改變,不能重新賦值;
5. final修飾的局部變量、形參只能接收賦值一次,一旦賦值成功,就不能改變,不能重新賦值。
【static】靜態的
1. static 可以修飾成員變量,成員方法;被static修飾的會被當前類的所有對象共享;
2. static 修飾的成員變量和成員方法會被放在JVM的靜態方法區,隨着類的加載而加載,可以使用類名或引用調用;
3. static修飾的成員方法只能調用static修飾的成員變量,非靜態的成員變量不能調用;
【private】私有的
1. private可以修飾成員變量和成員方法;
2. 被private修飾的成員變量和成員方法只能被當前類訪問,其他類不能訪問;
3. 被private修飾的成員方法不能被重寫。
【protected】
1. protected 可以修飾成員變量和成員方法;
2. 被protected修飾的成員變量和成員方法可以被當前類和當前類的子類訪問,其他類不能訪問;
3. 被protected修飾的成員方法可以被子類重寫
【public】公共的
1. public修飾的類,成員變量,成員方法都是公共的,可以被所有類直接訪問