国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java修飾符匯總

2019-11-06 06:29:51
字體:
供稿:網(wǎng)友
java修飾符可以分為訪問修飾符和非訪問修飾符兩大類。訪問修飾符包括:public、PRotected、default(friendly)、private訪問修飾符可以修飾的內(nèi)容,如下表:
修飾符方法構(gòu)造方法屬性接口
public
protected××
default(friendly)×
private××
各訪問修飾符的作用域,如下表:
作用域當前類同一個包子孫類其他包
public
protected×
friendly××
private×××
補充說明:public:不同包的公共類相互訪問時,需要先導入公共類所在的包。public的類必須保持類名和當前文件名一致,一個文件中只有一個public類。public類中的main()方法必須設(shè)置為public的。
//public可以修飾類、方法、構(gòu)造方法、屬性和接口public class TestClass {    public String testStr;    public TestClass() {        System.out.println("This is a public GouZao method");    }    public static void main(String[] str) {        System.out.println("This the public main method");    }}protected:可以被同一個包的其他類訪問,也可以被不同包的子類訪問。不能修飾類和接口。接口的成員變量和方法不能聲明為protected。//protected可以修飾屬性、方法、構(gòu)造方法public%20class%20TestClass%20{%20%20%20%20protected%20String%20testStr;%20%20%20%20protected%20TestClass()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20public%20GouZao%20method");%20%20%20%20}%20%20%20%20protected%20void%20method()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20protected%20method");%20%20%20%20}}default(friendly):只能被同一個包的其他類訪問。接口里的變量都隱式聲明為public%20static%20final,而接口里的方法默認情況下訪問權(quán)限為public。//friendly可以修飾方法、構(gòu)造方法、屬性和構(gòu)造器class%20GouZaoQiOne%20{%20%20%20%20String%20testStr;%20%20%20%20GouZaoQiOne()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20default(friendly)%20GouZao%20method");%20%20%20%20}%20%20%20%20void%20method()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20default(friendly)%20method");%20%20%20%20}}private:只能被所屬類訪問。類和接口不能設(shè)置為private。//private可以修飾方法、構(gòu)造方法、屬性public%20class%20TestClass%20{%20%20%20%20private%20String%20testStr;%20%20%20%20private%20TestClass()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20public%20GouZao%20method");%20%20%20%20}%20%20%20%20private%20void%20method()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20protected%20method");%20%20%20%20}}非訪問修飾符包括:static、final、abstract、synchronized、transient、volatile、strictfp非訪問修飾符可以修飾的內(nèi)容,如下表:非訪問修飾符方法屬性構(gòu)造方法final×static××abstract××synchronized×××native×××transient×××volatile×××strictfp×√static修飾符例子:public%20class%20TestClass%20{%20%20%20%20public%20static%20void%20main(String[]%20str)%20{%20%20%20%20%20%20%20%20//static方法和屬性,可以直接使用classname.variablename%20和%20classname.methodname%20的方式訪問%20%20%20%20%20%20%20%20System.out.println("This%20is%20the%20static%20shuxing:%20"%20+%20Test.str);%20%20%20%20%20%20%20%20Test.method();%20%20%20%20}}class%20Test%20{%20%20%20%20/**%20%20%20%20%20*%20靜態(tài)變量:static%20關(guān)鍵字用來聲明獨立于對象的靜態(tài)變量,無論一個類實例化多少對象,它的靜態(tài)變量只有一份拷貝。%20%20%20%20%20*%20靜態(tài)變量也被成為類變量。局部變量不能被聲明為%20static%20變量。%20%20%20%20%20*/%20%20%20%20public%20static%20String%20str%20=%20"test%20str";%20%20%20%20/**%20%20%20%20%20*%20靜態(tài)方法:static%20關(guān)鍵字用來聲明獨立于對象的靜態(tài)方法。靜態(tài)方法不能使用類的非靜態(tài)變量。%20%20%20%20%20*%20靜態(tài)方法從參數(shù)列表得到數(shù)據(jù),然后計算這些數(shù)據(jù)。%20%20%20%20%20*/%20%20%20%20public%20static%20void%20method()%20{%20%20%20%20%20%20%20%20System.out.println("This%20is%20a%20static%20method");%20%20%20%20}}final修飾符例子:public%20class%20TestClass%20{%20%20%20%20/**%20%20%20%20%20*%20final%20變量能被顯式地初始化并且只能初始化一次。被聲明為%20final%20的對象的引用不能指向不同的對象。%20%20%20%20%20*%20但是%20final%20對象里的數(shù)據(jù)可以被改變。也就是說%20final%20對象的引用不能改變,但是里面的值可以改變。%20%20%20%20%20*%20final%20修飾符通常和%20static%20修飾符一起使用來創(chuàng)建類常量。%20%20%20%20%20*/%20%20%20%20final%20String%20str%20=%20"testStr";%20%20%20%20public%20static%20final%20int%20MAX_INT%20=%2010;%20%20%20%20static%20final%20String%20MESSAGE%20=%20"This%20is%20a%20message";%20%20%20%20/**%20%20%20%20%20*%20類中的%20final%20方法可以被子類繼承,但是不能被子類修改。%20%20%20%20%20*%20聲明%20final%20方法的主要目的是防止該方法的內(nèi)容被修改。%20%20%20%20%20*/%20%20%20%20public%20final%20void%20method()%20{}}/**%20*%20final%20類不能被繼承,沒有類能夠繼承%20final%20類的任何特性。%20*/final%20class%20TestFinalClass%20{}abstra修飾符例子:/**%20*%20抽象類不能用來實例化對象,聲明抽象類的唯一目的是為了將來對該類進行擴充%20*%20如果一個類包含抽象方法,那么該類一定要聲明為抽象類%20*%20抽象類可以包含抽象方法和非抽象方法,也可以不包含抽象方法%20*/abstract%20class%20TestAbstractClass%20{%20%20%20%20private%20String%20testStr;%20%20%20%20/**%20%20%20%20%20*%20抽象方法是一種沒有任何實現(xiàn)的方法,該方法的的具體實現(xiàn)由子類提供%20%20%20%20%20*%20任何繼承抽象類的子類必須實現(xiàn)父類的所有抽象方法,除非該子類也是抽象類%20%20%20%20%20*/%20%20%20%20public%20abstract%20void%20method();}synchronized、transient、volatile修飾符例子:class%20Test%20{%20%20%20%20/**%20%20%20%20%20*%20synchronized%20關(guān)鍵字聲明的方法同一時間只能被一個線程訪問。%20%20%20%20%20*%20synchronized%20修飾符可以應(yīng)用于四個訪問修飾符。%20%20%20%20%20*/%20%20%20%20public%20synchronized%20void%20method()%20{}%20%20%20%20/**%20%20%20%20%20*%20序列化的對象包含被%20transient%20修飾的實例變量時,java%20虛擬機(JVM)跳過該特定的變量。%20%20%20%20%20*%20該修飾符包含在定義變量的語句中,用來預處理類和變量的數(shù)據(jù)類型。%20%20%20%20%20*/%20%20%20%20public%20transient%20int%20testNum%20=%20100;%20//%20不會持久化%20%20%20%20public%20int%20testInt%20=%2010;%20//持久化%20%20%20%20/**%20%20%20%20%20*%20volatile%20修飾的成員變量在每次被線程訪問時,都強制從共享內(nèi)存中重新讀取該成員變量的值。%20%20%20%20%20*%20而且,當成員變量發(fā)生變化時,會強制線程將變化值回寫到共享內(nèi)存。%20%20%20%20%20*%20這樣在任何時刻,兩個不同的線程總是看到某個成員變量的同一個值。%20%20%20%20%20*%20一個%20volatile%20對象引用可能是%20null。%20%20%20%20%20*/%20%20%20%20private%20volatile%20boolean%20testBool%20=%20false;%20%20%20%20public%20void%20methodOne()%20{%20%20%20%20%20%20%20%20testBool%20=%20true;%20%20%20%20%20%20%20%20while%20(testBool)%20{%20%20%20%20%20%20%20%20%20%20%20%20System.out.println("Test");%20%20%20%20%20%20%20%20}%20%20%20%20}%20%20%20%20public%20void%20methodTwo()%20{%20%20%20%20%20%20%20%20testBool%20=%20false;%20%20%20%20%20%20%20%20while%20(testBool)%20{}%20%20%20%20}}補充說明:abstract不能和其他任何非訪問修飾符同時使用;volatile和final不能同時使用;synchronized和strictfp不能同時使用;abstract%20和%20native%20修飾的方法沒有方法體;當一個類包含abstract方法時,此類必須定義為abstract;參考資料:http://www.runoob.com/java/java-modifier-types.html長按關(guān)注「我在編程」多看 | 多想 | 多練實踐是檢驗真理的唯一標準
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 防城港市| 灵山县| 东安县| 兖州市| 金昌市| 阿坝| 黔江区| 芜湖县| 汾阳市| 德清县| 新邵县| 青川县| 沅陵县| 涿鹿县| 昭苏县| 漯河市| 东山县| 忻州市| 拉萨市| 绵竹市| 即墨市| 富裕县| 九龙坡区| 印江| 浑源县| 潍坊市| 福鼎市| 德清县| 海安县| 砀山县| 浦江县| 克拉玛依市| 滦平县| 江口县| 仁寿县| 文化| 舟山市| 吉林省| 辉县市| 东平县| 通化县|