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

首頁 > 編程 > Java > 正文

淺談Java中各種修飾符與訪問修飾符的說明

2019-11-26 13:14:49
字體:
供稿:網(wǎng)友

JAVA中的類只能是public 或者package的。這是符合邏輯的:人們定義類的初衷就是為了讓別人用的。倘若是private,別人怎么調(diào)用?但是有一個內(nèi)部類可以被定義為private。嚴格上說,內(nèi)部類,算不得上是一種光明正大的類,內(nèi)部類在某種意義上是類這個王國里的特務和地下工作者。特務和地下工作者為王國起了不少作用,但是幾乎從來不敢在公眾場合拋投露面。就算要露面,也要在主人(class)的同意下,向?qū)В↖nterface)的引導下,才敢戰(zhàn)戰(zhàn)兢兢的走出來。下面是常規(guī)的一些類的修飾符和訪問修飾符:

一:類

訪問修飾符 修飾符 class 類名稱 extends 父類名稱 implement 接口名稱(訪問修飾符與修飾符的位置可以互換)

訪問修飾符
名稱 說明 備注
public 可以被所有的類訪問使用 public類必須定義在類名相同的同名文件中
package 可以被同一個包中的類所使用 默認的訪問權(quán)限,可以省略此關鍵字,可以定義在和public類的同一個文件中
修飾符
名稱 說明 備注
final 使用此修飾符的類不能夠被繼承  
abstract 如果要使用abstract類,之前必須首先建一個繼承abstract類的新類,新類中實現(xiàn)abstract類中的抽象方法。 類只要有一個abstract方法,類就必須定義為abstract,但abstract類不一定非要保護abstract方法不可

二:變量

Java中沒有全局變量,只有方法變量、實例變量(類中的非靜態(tài)變量)、類變量(類中的靜態(tài)變量)。

方法中的變量不能夠有訪問修飾符。所以下面訪問修飾符表僅針對于在類中定義的變量。

聲明實例變量時,如果沒有賦初值,將被初始化為null(引用類型)或者0、false(原始類型)。

可以通過實例變量初始化器來初始化較復雜的實例變量,實例變量初始化器是一個用{}包含的語句塊,在類的構(gòu)造器被調(diào)用時運行,運行于父類構(gòu)造器之后,構(gòu)造器之前。

類變量(靜態(tài)變量)也可以通過類變量初始化器來進行初始化,類變量初始化器是一個用static{}包含的語句塊,只可能被初始化一次。

訪問修飾符
名稱 說明 備注
public 可以被任何類訪問  
protected 1.可以被同一個包的所有類訪問。
2.可以被所有子類訪問
即使子類不在同一個包中
private 只能被當前類中的方法訪問  
缺省 只能被同一個包中的類訪問 若子類不在同一個包中,不能訪問

修飾符
名稱 說明 備注
static 靜態(tài)變量(又稱為類變量,其它的稱為實例變量) 1.可以被類的所有實例共享。
2.并不需要創(chuàng)建類的實例就可以訪問靜態(tài)變量
final 常量,值只能夠分配一次,不能更改 1.注意不要使用const,雖然它和C、C++中的const關鍵字含義一樣
2.可以同static一起使用,避免對類的每個實例維護一個拷貝
transient 告訴編譯器,在類對象序列化的時候,此變量不需要持久保存 主要是因為改變量可以通過其它變量來得到,使用它是為了性能的問題
volatile 指出可能有多個線程修改此變量,要求編譯器優(yōu)化以保證對此變量的修改能夠被正確的處理  

 三:方法

訪問修飾符 修飾符 返回類型 方法名稱(參數(shù)列表)throws 違例列表

1.類的構(gòu)造器方法不能夠有修飾符、返回類型和throws子句

2.類的構(gòu)造器方法被調(diào)用時,它首先調(diào)用父類的構(gòu)造器方法,然后運行實例變量和靜態(tài)變量的初始化器,然后才運行構(gòu)造器本身。

3.如果構(gòu)造器方法沒有顯示的調(diào)用一個父類的構(gòu)造器,那么編譯器會自動為它加上一個默認的super(),而如果父類又沒有默認的無參數(shù)構(gòu)造器,編譯器就會報錯。super必須是構(gòu)造器方法的第一個子句。

4.注意理解private構(gòu)造器方法的使用技巧 。

訪問修飾符

名稱 說明 備注
public 可以被任何類訪問  
protected 1.可以被同一個包的所有類訪問。
2.可以被所有子類訪問
即使子類不在同一個包中
private 只能被當前類中的方法訪問  
缺省 只能被同一個包中的類訪問 若子類不在同一個包中,不能訪問


修飾符
名稱 說明 備注
static 靜態(tài)方法(又稱為類方法,其它的稱為實例方法 1.提供不依賴于類實例的服務
2.并不需要創(chuàng)建類的實例就可以訪問靜態(tài)方法
final 防止任何子類方法重載 1.注意不要使用const,雖然它和C、C++中的const關鍵字含義一樣
2.可以同static一起使用,避免對類的每個實例維護一個拷貝
abstract 抽象方法,類中已聲明而沒有實現(xiàn)的方法 不能將static方法、final方法或者類的構(gòu)造器方法聲明為abstract
native 用該修飾符定義的方法在類中沒有實現(xiàn),而大多數(shù)情況下該方法的實現(xiàn)是用C、C++編寫的。 參見Sun的Java Native接口(JNI),JNI提供了運行時加載一個native方法的實現(xiàn),并將其于一個Java類關聯(lián)的功能
synchronized 多線程的支持 當一個此方法被調(diào)用時,沒有其它線程能夠調(diào)用該方法,其它的synchronized方法也不能調(diào)用該方法,直到該方法返回

四:接口

訪問修飾符 interface 接口名稱 extends 接口列表

1. 接口不能夠定義其聲明的方法的任何實現(xiàn)

2. 接口中的變量總是需要定義為“public static final 接口名稱”,但可以不包含這些修飾符,編譯器默認就是這樣,顯示的包含修飾符主要是為了程序清晰

訪問修飾符 

 

名稱 說明 備注
public 可以被所有的類訪問使用 public類必須定義在類名相同的同名文件中
package 可以被同一個包中的類所使用 默認的訪問權(quán)限,可以省略此關鍵字,可以定義在和public類的同一個文件中

以上這篇淺談Java中各種修飾符與訪問修飾符的說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

上一篇:java struts2框架簡介

下一篇:Java的常用包

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芜湖县| 东兴市| 天门市| 萨迦县| 罗甸县| 资溪县| 兴安县| 会昌县| 澄迈县| 增城市| 荆州市| 长兴县| 曲周县| 虎林市| 浑源县| 西乌| 山阳县| 和硕县| 大新县| 汤原县| 股票| 清河县| 七台河市| 深圳市| 龙川县| 贡山| 临漳县| 阜平县| 综艺| 桑日县| 稷山县| 城市| 长寿区| 松滋市| 元朗区| 筠连县| 绥化市| 长岛县| 茌平县| 香格里拉县| 黄大仙区|