亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java修飾符 abstract,static,final 的區別詳解

2019-11-26 15:57:45
字體:
來源:轉載
供稿:網友

static 表示靜態,它可以修飾屬性,方法和代碼塊。

1.static修飾屬性(類變量),那么這個屬性就可以用類名.屬性名來訪問,也就是使這個屬性成為本類的類變量,為本類對象所共有。這個屬性就是全類公有。(共有的類變量與對象無關,只和類有關)。

類加載的過程,類本身也是保存在文件中(字節碼文件保存著類的信息)的,java會通過I/O流把類的文件(字節碼文件)讀入JVM(java虛擬機),這個過程成為類的加載。JVM(java虛擬機)會通過類路徑(CLASSPATH)來找字節碼文件。

類變量,會在加載時自動初始化,初始化規則和實例變量相同。

注意:類中的實例變量是在創建對象時被初始化的,被static修飾的屬性,也就是類變量,是在類加載時被創建并進行初始化,類加載的過程是進行一次。也就是類變量只會被創建一次。

2.static修飾方法(靜態方法),會使這個方法成為整個類所公有的方法,可以用類名.方法名訪問。

注意:static修飾的方法,不直接能訪問本類中的非靜態(static)成員(包括方法和屬性),本類的非靜態(static)方法可以訪問本類的靜態成員(包括方法和屬性),可以調用靜態方法。靜態方法要慎重使用。在靜態方法中不能出現this關鍵字。

注意:父類中是靜態方法,子類中不能覆蓋為非靜態方法,在符合覆蓋規則的前提下,在父子類中,父類中的靜態方法可以被子類中的靜態方法覆蓋,但是沒有多態。(在使用對象調用靜態方法是其實是調用編譯時類型的靜態方法)

注意:父子類中,靜態方法只能被靜態方法覆蓋,父子類中,非靜態方法只能被非靜態方法覆蓋。

java中的main方法必須寫成static的因為,在類加載時無法創建對象,因為靜態方法可以不通過對象調用所以在類的main方法。所在在類加載時就可以通過main方法入口來運行程序。

3.static修飾初始代碼塊,這時這個初始代碼塊就叫做靜態初始代碼塊,這個代碼塊只在類加載時被執行一次??梢杂渺o態初始代碼塊初始化一個類。

動態初始代碼塊,寫在類體中的“{}”,這個代碼塊是在生成對象的初始化屬性是運行。這種代碼塊叫動態初始代碼塊。

類在什么時候會被加載,創建對象時會加載類,調用類中靜態方法或訪問靜態屬性也是會加載類的。在加載子類時必會先加載父類,類加載會有延遲加載原則,只有在必須加載時才會加載。

final修飾符,可以修飾變量,方法,類

1.final修飾變量
被fianl修飾的變量就會變成常量(常量應當大寫),一旦賦值不能改變,(可以在初始化時直接賦值,也可以在構造方法里也可以賦值,只能在這兩種方法里二選一,不能不為常量賦值),fianl的常量不會有默認初始值,對于直接在初始化是賦值時final修飾符常和static修飾符一起使用。

2.final修飾方法,被final修飾的方法將不能被其子類覆蓋,保持方法的穩定不能被覆蓋。
3.final修飾類,被final修飾的類將不能被繼承。final類中的方法也都是final的。

注意:final,不能用來修飾構造方法,在父類中如果有常量屬性,在子類中使用常量屬性時是不會進行父類的類加載。

不變模式,對象一旦創建屬性就不會改變。用final修飾屬性,也用final修飾類(強不變模式),用final修飾屬性(弱不變模式)。

不變模式的典型體現:java.lang.String類,不變模式可以實現對象的共享(可以用一個對象實例賦值給多個對象變量)

池化的思想,把需要共享的數據放在池中(節省空間,共享數據)
只有String類可以用“”中的字面值創建對象。在String類中,以字面值創建時,會到Java方法空間的串池空間中去查找,如果有就返回串池中字符串的地址,并把這個地址付給對象變量。如果沒有則會在串池里創建一個字符串對象,并返回其地址付購對象變量,當另一個以字面值創建對象時則會重復上述過程。
如果是new在堆空間中創建String類的對象,則不會有上述的過程。

String類中的intern()方法會將在堆空間中創建的String類對象中的字符串和串池中的比對,如果有相同的串就返回這個串的串池中的地址。

不變模式在對于對象進行修改,添加操作是使相當麻煩的,他會產生很多的中間垃圾對象。創建和銷毀的資源的開銷是相當大的。

String類在字符串連接時會先的效率很低,就是因為它所產生的對象的書性是不能夠修改的,當連接字符串時也就是只能創建新的對象。

對于很多的字符串連接,應當使用StringBuffer類,在使用這個類的對象來進行字符串連接時就不會有多余的中間對象生成,從而優化了效率。

abstract(抽象)修飾符,可以修飾類和方法
1.abstract修飾類,
會使這個類成為一個抽象類,這個類將不能生成對象實例,但可以做為對象變量聲明的類型,也就是編譯時類型,抽象類就像當于一類的半成品,需要子類繼承并覆蓋其中的抽象方法。

2.abstract修飾方法,會使這個方法變成抽象方法,也就是只有聲明(定義)而沒有實現,實現部分以";"代替。需要子類繼承實現(覆蓋)。

注意:有抽象方法的類一定是抽象類。但是抽象類中不一定都是抽象方法,也可以全是具體方法。
abstract修飾符在修飾類時必須放在類名前。

abstract修飾方法就是要求其子類覆蓋(實現)這個方法。調用時可以以多態方式調用子類覆蓋(實現)后的方法,也就是說抽象方法必須在其子類中實現,除非子類本身也是抽象類。

注意:父類是抽象類,其中有抽象方法,那么子類繼承父類,并把父類中的所有抽象方法都實現(覆蓋)了,子類才有創建對象的實例的能力,否則子類也必須是抽象類。抽象類中可以有構造方法,是子類在構造子類對象時需要調用的父類(抽象類)的構造方法。

final和abstract,private和abstract,static和abstract,這些是不能放在一起的修飾符,因為abstract修飾的方法是必須在其子類中實現(覆蓋),才能以多態方式調用,以上修飾符在修飾方法時期子類都覆蓋不了這個方法,final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋,static是可以覆蓋的,但是在調用時會調用編譯時類型的方法,因為調用的是父類的方法,而父類的方法又是抽象的方法,又不能夠調用,所以上的修飾符不能放在一起。

抽象(abstract)方法代表了某種標準,定義標準,定義功能,在子類中去實現功能(子類繼承了父類并需要給出從父類繼承的抽象方法的實現)。
方法一時間想不到怎么被實現,或有意要子類去實現而定義某種標準,這個方法可以被定義為抽象。(abstract)

模板方法模式
用abstract把制訂標準和實現標準分開,制定的標準就是模板,實現就是按模板標準來實現,也就是繼承模板,實現模板中相應功能的方法。模板中不允許修改的方法可以用fianl來修飾,這個方法不能使抽象方法,為保證安全,封裝,把模板中不公開的部分用protected(保護)修飾。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国外色69视频在线观看| 宅男66日本亚洲欧美视频| 亚洲自拍欧美另类| 伦理中文字幕亚洲| 日韩在线欧美在线国产在线| 蜜臀久久99精品久久久久久宅男| 精品国产鲁一鲁一区二区张丽| 日韩中文字幕网站| 亚洲综合精品伊人久久| 久久综合伊人77777蜜臀| 欧美激情视频网站| 亚洲天堂开心观看| 国产精品久久久久久久久| 欧美日韩中文字幕在线| 欧美最顶级的aⅴ艳星| 日韩中文在线中文网在线观看| 91国偷自产一区二区三区的观看方式| 亚洲午夜女主播在线直播| 中文字幕亚洲无线码在线一区| 亚洲国产精品国自产拍av秋霞| 国产精品欧美亚洲777777| 欧美日韩国产成人高清视频| 亚洲男人天堂2024| 一本大道久久加勒比香蕉| 91av中文字幕| 美女啪啪无遮挡免费久久网站| 91av在线播放视频| 国内精品视频一区| 成人免费午夜电影| 欧美国产日韩在线| 久久亚洲国产精品成人av秋霞| 亚洲人成在线一二| 亚洲美女免费精品视频在线观看| 亚洲爱爱爱爱爱| 亚洲精品美女在线观看播放| 久久久成人精品视频| 日韩激情在线视频| 亚洲国产成人精品一区二区| 国精产品一区一区三区有限在线| 欧美性xxxxxxxxx| 久久激情视频久久| 全球成人中文在线| 77777少妇光屁股久久一区| 久久精品国产清自在天天线| 国产一区二区三区在线观看视频| 日韩亚洲一区二区| 中文字幕日韩在线观看| 在线播放日韩欧美| 亚洲国产精品久久久| 懂色av影视一区二区三区| 色综合久综合久久综合久鬼88| 欧美激情xxxx性bbbb| 久久琪琪电影院| 性金发美女69hd大尺寸| 中文字幕在线日韩| 亚洲精品v欧美精品v日韩精品| 亚洲最新中文字幕| 欧美二区在线播放| 伊人青青综合网站| 国产视频久久久久久久| 国产精品视频久久| 日韩国产欧美区| 日韩欧美一区视频| 国产精品扒开腿做爽爽爽视频| 国产精品美女视频网站| 中文国产亚洲喷潮| 国产va免费精品高清在线观看| 97免费在线视频| 成人啪啪免费看| 亚洲日本欧美中文幕| 久久国产精彩视频| 国产一级揄自揄精品视频| 日韩在线精品视频| 亚洲国产精品专区久久| 欧美日韩一区二区三区在线免费观看| 伊人青青综合网站| 日韩av影视在线| 欧美精品在线网站| 亚洲一区二区中文字幕| 在线精品国产成人综合| 亚洲老板91色精品久久| 欧美性xxxx18| 亚洲精品久久久久| 97超级碰碰人国产在线观看| 国产午夜精品一区二区三区| 国产一区二区三区久久精品| 久久久国产精品一区| 久久国产一区二区三区| 欧美中文字幕在线观看| 亚洲激情免费观看| www.国产一区| 91精品国产777在线观看| 国产精品video| 中文字幕亚洲图片| 亚洲成人精品久久久| 亚洲精品一区二三区不卡| 欧美日韩高清在线观看| 国产成人avxxxxx在线看| 黄色一区二区在线观看| 色婷婷久久av| 韩国三级日本三级少妇99| 日韩精品有码在线观看| 色www亚洲国产张柏芝| 日韩第一页在线| 91精品视频免费看| 国产va免费精品高清在线| 色黄久久久久久| 亚洲成年人在线播放| 精品无码久久久久久国产| 国产精品美女主播在线观看纯欲| 国内精品久久久久久| 日韩在线观看免费av| 91欧美精品午夜性色福利在线| 亚洲国内精品视频| 91成人在线播放| 日本不卡视频在线播放| 欧洲亚洲妇女av| 久久久久久久色| 九色成人免费视频| 68精品国产免费久久久久久婷婷| 久久久久久中文| 欧美大尺度电影在线观看| 国产精品天天狠天天看| 久久视频这里只有精品| 欧美性猛交xxxx乱大交蜜桃| 久久大大胆人体| 欧美丝袜一区二区三区| 欧美一级成年大片在线观看| 日韩va亚洲va欧洲va国产| 国产精品午夜一区二区欲梦| 久久久女人电视剧免费播放下载| 国产精品视频区| 欧美日韩国产色| 成人黄色免费网站在线观看| 九九热这里只有精品免费看| 日韩电影免费在线观看中文字幕| 久久激情视频久久| 麻豆一区二区在线观看| 亚洲国产精品久久久久久| 中文字幕精品久久| 精品夜色国产国偷在线| 亚洲国产精品女人久久久| 久久精品在线视频| 国产精品免费视频xxxx| 成人黄色大片在线免费观看| 日韩精品久久久久久久玫瑰园| 国产精品视频一| 98精品国产高清在线xxxx天堂| 不卡毛片在线看| 日韩一区视频在线| 亚洲人成电影在线| 欧美疯狂xxxx大交乱88av| 亚洲人成电影在线观看天堂色| 国产97免费视| 国产在线精品成人一区二区三区| 91精品国产91久久久久| 久久在精品线影院精品国产| 欧美日韩成人在线观看| 欧美日韩一区二区三区在线免费观看| 精品在线小视频| 日韩精品免费在线视频观看| 午夜精品免费视频| 久久久精品久久| 欧美成aaa人片在线观看蜜臀|