日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]java构造方法的访问修饰符

發(fā)布時(shí)間:2024/8/26 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]java构造方法的访问修饰符 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://my.oschina.net/u/1464678/blog/210359

1.???????類(class)

?

可見性修飾符:?public—在所有類中可見,在其他包中可以用import導(dǎo)入。

???????????????????????????? 缺省—就是沒有修飾符,在同一個(gè)包中的類中可見,在其他包中不能用import導(dǎo)入。

??????????????修飾符:final—終態(tài)類,表示該類不能被繼承

????????????????????????????abstract抽象類,不能新建對象

?

2.???????變量(variable)

?

Java中變量有兩種,方法變量和字段變量

方法變量只能用一個(gè)修飾符:final—表示常量,不能修改

下面是字段變量的修飾符

????????可見性修飾符:public—在任何類中可見

???????????????????????????? ? ? ???protected—???????在子類中或同一個(gè)包中可見

???????????????????????????? ? ? ???private—只在本類中可見,子類中也不可見

????????????????????????????????????缺省—在同一個(gè)包中可見,子類不在一個(gè)包中,子類中也不可見??

????????修飾符:static—靜態(tài)變量,被類的所有實(shí)例共享

????????????????????????final—常量,定義后不能修改

*transient—告訴編譯器,在類對象序列化的時(shí)候,此變量不需要持久保存

*volatile—指出可能有多個(gè)線程修改此變量,要求編譯器優(yōu)化以保證對此變量的修改能夠被正確的處理

這兩帶*的不是很常用,但也是Java的修飾符,我也不是很清楚

?

3.??????方法(method)

?

???可見性修飾符:public—在任何類中可見

???????????????????????????? ??protected—在子類中或同一個(gè)包中可見

??????????????????????????????private—只在本類中可見,子類中也不可見

??????????????????????????????缺省—在同一個(gè)包中可見,子類不在一個(gè)包中,子類中也不可見

???修飾符:???static—靜態(tài)方法,并不需要?jiǎng)?chuàng)建類的實(shí)例就可以訪問靜態(tài)方法

??????????????????????final—常方法,所有子類不能覆蓋該方法,但可以重載

????????????????????? abstract—抽象方法,在抽象類中沒有實(shí)現(xiàn)的方法

????????????????????? native—本地方法,參見Java Native Interface(JNI)

???????????????????????????? synchronized —在多線程中,synchronized方法調(diào)用時(shí),其他所有方法不能調(diào)用該方法

?

4.???????接口(interface)

?

?????????可見性修飾符:public—所有類中可見

?????????????????????????????????????缺省—同一個(gè)包中可見

?????????接口中的變量總是需要定義為“?public static final?接口名稱”,但可以不包含這些修飾符,編譯器默認(rèn)就是這樣???

因?yàn)榻涌谑遣豢赡苡兄苯訉?shí)例的,那樣的話也就是不可能修改(final),也不可能通過實(shí)例訪問的(static)。?????

?????????接口中的方法只能使用publicabstract修飾符??

?

?

==================================================================================================

public:可以被任何類訪問。 final:使用些修飾符的類不可以被繼承。 abstract:如果要使用abstract類,需要建立一個(gè)繼承自它的新類,來實(shí)現(xiàn)其中的抽象方法。
變量: 1,Java中沒有全局變量,只有方法變量、實(shí)例變量(類中非靜態(tài)變量)、類變量(類中靜態(tài)變量); 2,方法中的變量不可以有訪問修飾符,所以訪問修飾符只是針對類中定義的變量; 3,聲明實(shí)例變量時(shí),如果沒有賦初值,將會被初使化為Null(引用類型)或是0、false(原始類型); 4,可以通過實(shí)例變量初使化器來初使化較復(fù)雜的實(shí)例變量,實(shí)例變量初使化器是一個(gè)用{}包含的語句塊,在類的構(gòu)造器被 調(diào)用時(shí)運(yùn)行,運(yùn)行于父類構(gòu)造器之后,構(gòu)造器之前; 5,類變量(靜態(tài)變量)也可以通過變量初始化器進(jìn)行初始化,類變量的初使化器是一個(gè)用static{}包括起來的語句塊,而且只可以被初使化一次。 訪問修飾符: public:可以被任何類訪問。 protected:可以被同一包中的所有類訪問;也可以被子類訪問,即使子類沒有在同一包內(nèi)。 private:只能被當(dāng)前類中的方法訪問。 缺省:無訪問修飾符,可以被同一包中的所有類訪問;如果子類沒有在同一包中,不可訪問。 修飾符: static:靜態(tài)變量(又稱為類變量,實(shí)例變量等),可以被類的所有實(shí)例所共享,而且在不創(chuàng)建類的實(shí)例的情況下也可以對其進(jìn)行訪問。 final:常量,其值只能分配一次,而且不可更改;注意不要使用const,雖然它和C、C++中的const關(guān)鍵字含義一樣。 transient:即告訴編譯器,在該類的對象進(jìn)行序列化的時(shí)候,這個(gè)變量不需要持久保存。這么做的主要原因是這個(gè)變量可以通過其它的變量來獲取,使用它主要是從性能的角度考慮。 volatile:指出可能有多個(gè)線程修改此變量,要求編譯器優(yōu)化以保證對此變量的修改能夠被正確地處理。 方法: 1,類的構(gòu)造方法不能有修飾符、返回類型和throws子句 2,類的構(gòu)造器方法被調(diào)用時(shí),它首先調(diào)用父類的構(gòu)造器方法,然后運(yùn)行實(shí)例變量和靜態(tài)變量的初使化器,然后才運(yùn)行該類構(gòu)造器本身。 3,如果構(gòu)造器方法沒有顯示調(diào)用一個(gè)父類的構(gòu)造器,那么編譯器會為其自動(dòng)加上一個(gè)默認(rèn)的super(),而父類若沒有默認(rèn)的無參數(shù)構(gòu)造器,編譯器就會報(bào)錯(cuò)。super()必須是構(gòu)造器方法的第一個(gè)子句。 4,注意理解private類構(gòu)造器方法使用的技巧。 static:靜態(tài)方法(又稱為類方法、以及實(shí)例方法等),它提供不依賴于類實(shí)例的服務(wù),也就是說,并不需要?jiǎng)?chuàng)建類實(shí)例就可以訪問靜態(tài)方法。 final:防止任何子類重載該方法;注意不要使用const,雖然它和C、C++中的const關(guān)鍵字含義一樣。 abstract:抽象方法,類中已聲明但沒有實(shí)現(xiàn)的方法,不能將static方法、final方法以及構(gòu)造器方法聲明為abstract。 native:用該修飾符修飾的方法在類中并沒有實(shí)現(xiàn),大多數(shù)情況下這類方法的實(shí)現(xiàn)是由C或C++編寫的。可以參見Sun的Java Native接口(JNI),JNI提供了運(yùn)行時(shí)加載一個(gè)native方法的實(shí)現(xiàn),并將其與一個(gè)Java類關(guān)聯(lián)。 synchronized:多線程支持,當(dāng)一個(gè)線程調(diào)用該方法時(shí),就會為這個(gè)對象加一個(gè)鎖,從而其它線程就不可以再次調(diào)用這個(gè)方法,直到前一個(gè)線程將其釋放。
接口: 1,接口不能定義任何其聲明方法的實(shí)現(xiàn)。 2,接口中的變量總是需要定義為“public static final 接口名稱”,也可以不包含這些修飾符,但編譯器默認(rèn)就是這樣,顯示的包含修飾符主要是為了程序邏輯清晰。

轉(zhuǎn)載于:https://www.cnblogs.com/xunbu7/p/5111684.html

總結(jié)

以上是生活随笔為你收集整理的[转]java构造方法的访问修饰符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。