一. 訪問修飾符
1. public
1) public關鍵字可以放在類前。表示這個類可以被其它包中的類的物件所訪問,是公開性最高的乙個關鍵字,public限定的類在乙個檔案中只允許有乙個,且其他的類不能使用private和protected,只能使用預設的訪問修飾符;
2) public放在方法前。表示方法可以被其它包中的類呼叫;
3) public放在屬性前。只要通過物件就可以呼叫該屬性,屬性是公開的。
※ ①inte***ce中定義的屬性和方法,即便沒寫public,也預設是public;
②抽象類裡面,抽象方法是預設為public的;
③父類如果是public,則子類必須是public型別的。
2. private
1) private放在方法前面。該方法只能被該類裡面的方法或是構造器呼叫
2) private放在屬性前面。private只能在類裡面,方法的外面來定義屬性,且該屬性在無公開方法傳遞的情況下,只能被本類呼叫。
※ ①在類的繼承中,父類的private的方法,子類不能進行繼承;
②構造器中新增private關鍵字,那麼不允許在其他類裡面建立物件
3. protected:子類可以繼承,同包內可以訪問。若父類使用的是protected關鍵字,那麼子類裡面就只能用protected或是public關鍵字。
二. static
1. 不需要例項化物件,可以直接通過物件呼叫。比如說在主函式前面新增的static關鍵字,物件就直接呼叫裡面相關的語句;
2.使用static關鍵修飾變數後。執行時記憶體空間只有唯一的乙份儲存空間,因此在例項化該類的多個物件時候,擁有的該屬性的值是完全一致的,改變某乙個變數的屬性值,其它的也就改變了。在儲存空間中,多個變數通過對映共用乙個屬性;
3.使用static關鍵字修飾方法後。方法裡面的定義的變數或是屬性都必須是static修飾的。
4.不能使用static修飾類後。
三. final
1. 用final修飾類。則該類不能被繼承;
2. 用final修飾父類方法。則子類不能重寫父類的方法;
3. 用final修飾屬性。則該屬性的值為常量;
4. 用final修飾物件。則該物件的物件名不能被改變,只能改變該物件裡面的屬性。因為物件在空間中儲存的是物件的位址,那麼final就保護位址的最終性,但被指向的那部分空間儲存的東西是可以改變的。
四. this
指當前物件。
五. super
1. super指的是當前類的父類的物件,以及可以通過父類的物件呼叫父類的方法;
2. 在子類的構造器中,通過super使用父類的構造器一同通過this使用自己的構造器一樣,都必須在第一行,且只能在構造其中使用一次
六. package
定義包的。
七. import
引入包下的類。
八.class; inte***ce; extends; implements; byte; short; int ; long; float; double; char; boolean; true; false; abstract; if; else; for; while; do; break; continue; return; switch; case; default; null; void; new; try; catch; finally; throw; throws; instanceof:判斷物件是否是某個類的例項; synchronized:同步; transient:瞬時的; assert:斷言;volatile; enum; const; native; strictfp
……………………
java中this關鍵字
1 this 關鍵字 疑問 建立的p 物件為什麼沒有值。解答 name 與age 在指定的建構函式裡面已經存在,當name name 這個語句執行的時候,如果jvm 在該方法內能尋找到該變數,則不會去尋找成員變數,那麼要想指定給成員變數或物件的屬性進行初始化賦值,那麼必須指定name 是成員屬性。1...
Java中的關鍵字
abstract 抽象的 continue 繼續 for 當 的時候 new 新建 switch 轉換 assert 斷言 default 預設 if 如果 package 打包 synchronized 同步 boolean 布林 do 做 goto 跳轉到 private 私有的 this 這個...
java中的this關鍵字
1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class hello public static void main string args 執行結果 s helloworld 1 this.s hello 2...