Java基礎知識關鍵字__Java

來源:互聯網
上載者:User

Java基礎知識關鍵字

定義:一些已經賦予了指定含義的詞語

根類相關:public private protected  class interface implements extends import package abstract

根方法函數/屬性相關:void return static final

八大基礎資料型別 (Elementary Data Type):int short byte long char boolean double float

迴圈判斷:for switch do while break continue if case

異常:try catch throw throws finally

其他:this super

goto(保留字)

一、先來分析許可權修飾符:

建立如下結構進行實驗

1.public:整個工程隨意訪問,不管是跨類還是跨包

package text1;public class People {public String name;public void eat(){}}

package text2;import text1.People;public class Man {public static void main(String[] args) {People people = new People();people.name = " ";people.eat();}}

在包text1中定義了公有屬性name和方法eat,看到在包text2中可以被訪問調用,可以看出public的存取權限是非常大的

2.protected:同一個包下的類可以隨意訪問,跨包不行(跨包繼承是可以繼承到受保護的屬性或者方法)


package text1;public class People {public String name;protected String sex;public void eat(){}protected void drink(){}}

在People中定義protected屬性sex和方法drink

package text2;import text1.People;public class Man {public static void main(String[] args) {People people = new People();people.name = " ";people.eat();people.<del>sex</del> = " ";people.<del>drink</del>();}
}

可以看到在Man中不能調用了,對於被protected修飾的屬性和方法,還有一種方式訪問

package text2;import text1.People;public class Woman extends People{public static void main(String[] args) {Woman people = new Woman();people.name = " ";people.eat();people.sex= " ";people.drink();}}
定義子類Woman繼承父類People,就可以用子類執行個體調用到父類的protected屬性和方法了。

3.預設不寫:同一個包下的類可以隨意訪問,跨包不行


package text1;public class People {int age;void play(){}}
<pre class="java" name="code">package text2;import text1.People;public class Woman extends People{public static void main(String[] args) {Woman people = new Woman();people.<del>age</del> = 18;people.<del>play</del>();}}

挎包繼承也不可以訪問預設修飾的屬性和方法

package text1;public class Student {public static void main(String[] args) {People people = new People();people.age = 18;people.play();}}

同一包下的其他類可以訪問到預設屬性和方法

4.private:僅限於當前類自己可以訪問,其他類擁有對象也無法訪問私人屬性/方法


package text1;public class People {private String address;private void sleep(){}public static void main(String[] args) {People people = new People();people.address = " ";people.sleep();}}

package text1;public class Student {public static void main(String[] args) {People people = new People();people.<del>address</del> = " ";people.<del>sleep</del>();}}

同包其他類調用私人屬性和方法報錯。

總結一個表:

存取修飾詞:public protected預設private四種類型存取權限

  當前類 當前包 子類 外部包
public ok ok ok ok
protected ok ok ok
預設 ok ok    
private ok      

另外四大修飾符修飾的範圍:方法、屬性、類

而類只能用public和預設不寫來修飾

二、關鍵字命名

swith(){//int/short/ String(JDK1.7版本以前不能用) 枚舉類型

case **:break;

}

 

三、this\super的區別

this:當前類的對象

super:父類的對象

 

普通方法和屬性調用:this.方法名(),this.屬性名稱

  this();

  super.方法名(),super.屬性

  super();

  

注意:1.this()和super()必須出現在第一行

2.方法重寫,如果要對父類的方法進行補充,則需要調用super.父類方法名()方法定義

 

 

四、final(最終的,最後的)

可以用來修飾:類、方法、屬性、參數、局部變數

修飾類:當前類不能被繼承

方法:當前方法不能被重寫

屬性:代表當前屬性只能被賦值一次(常量)

參數/局部變數:代表當前參數在生命週期範圍內不能重新賦值

 

五、static(靜態)

可以用來修飾:方法、屬性、靜態塊

 

注意一點:靜態方法中一定不能直接使用非靜態屬性或者方法










聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.