日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java中final關(guān)鍵字的使用與注意總結(jié)

瀏覽:133日期:2022-08-26 16:31:57

前言

在java中可以將實(shí)例域定義為final。在構(gòu)建對象是必須初始化這樣的值。必須確保在每個(gè)構(gòu)造器執(zhí)行之后,這個(gè)域的值被設(shè)置,并且在后面的操作中不再對其修改。使用final聲明變量之后,這個(gè)值就不能修改,一般final類型的變量都被聲明為靜態(tài)變量,而且是公有類型的,它在內(nèi)存中被放在一個(gè)特有的公共區(qū)域。

也就是說,在Java語法中規(guī)定,final修飾的成員變量必須有程序員顯式地指定初始值。

定義格式為: public static final double pi = 3.1415926;

final修飾符大多應(yīng)用于基本類型域,或不可變類的域(如果類中的每個(gè)方法都不會(huì)改變其對象,這種類成為不可變類。比如說Java中的String類就是一個(gè)不可變類。)

如果定義了兩個(gè)相同的變量,都是final類型的,這兩個(gè)相同的變量名有著不同的值,其實(shí)在內(nèi)存中是開辟了兩個(gè)內(nèi)存空間,之前定義的變量的值會(huì)被后來定義的變量的值覆蓋掉。原理是變量名指向后來定義的變量值的內(nèi)存空間,之前定義的變量值會(huì)被Java虛擬機(jī)根據(jù)某種特定的算法在特定的時(shí)間處理掉。

在下面的代碼中詳細(xì)的介紹了final類型的變量如何進(jìn)行定義和初始化:

public class FinalVariableText { //定義成員變量是指定默認(rèn)值,合法 final int a = 6; //下面變量將在構(gòu)造器或初始化塊中分配初始值 final String str; final int c ; final static double d; //既沒有指定默認(rèn)值,也沒有在初始化塊、構(gòu)造器中指定初始值 //下面定義的ch實(shí)例變量是不合法的 //final char ch; { //在初始化塊中只懂初始值,合法 str ='hello' ; //定義a實(shí)例變量已經(jīng)有初始值了,不能為a重新賦值。下面的語句是不正確的 //a = 9; } //靜態(tài)初始化塊 static { // d是靜態(tài)成員變量,必須在靜態(tài)初始化塊中為其指定初始值 d = 5.6; } //構(gòu)造器,可對 沒有設(shè)置初始值的成員變量設(shè)置初始值 //構(gòu)造器必須與類名相同,這一點(diǎn)注意! public FinalVariableText(){ //如果在初始化塊中對str賦初值,在構(gòu)造器中在為str重新賦值,是不合法的,程序會(huì)拋出錯(cuò)誤。 c = 5; } public void changeFinal() { //普通方法不能為final修飾的成員變量賦值 //d = 1.3; //也不能在普通方法中為沒有設(shè)置初始值的final類型的變量賦初值 //ch = ’ch’; } public static void main(String[] args) { FinalVariableText ff = new FinalVariableText(); System.out.println(ff.a); System.out.println(ff.c); System.out.println(ff.str); System.out.println(ff.d); }

結(jié)果:65hello5.6

注意:

如果打算在構(gòu)造器、初始化塊中對final類型的成員變量進(jìn)行初始化,則不要在初始化之前訪問成員變量的值,否則會(huì)引發(fā)程序報(bào)錯(cuò)。

final也存在局部變量的情況

系統(tǒng)不會(huì)對局部變量進(jìn)行初始化,局部變量必須由程序員顯式的進(jìn)行初始化,因此使用final修飾局部變量的時(shí)候,既可以在定義是設(shè)定默認(rèn)值,也可以不指定默認(rèn)值。如果在定義是沒有進(jìn)行設(shè)定默認(rèn)值,則可以在后面的代碼中對該final變量賦初值,但只能一次,不可以重復(fù)賦值。當(dāng)然如果在定義變量的時(shí)候就已經(jīng)指定默認(rèn)值,在后面的代碼中就沒有必要也不允許對該變量在進(jìn)行賦值操作。

public void text(final int a) { //不能對fianl修飾的形參進(jìn)行賦值操作 //a = 5; 該語句是不合法的 } public static void main(String[] args) { //定義final局部變量時(shí),指定初始值,則該變量再無法進(jìn)行賦值了 final String str = 'str'; //下面的語句會(huì)報(bào)錯(cuò),不合法 //str = 'Java'; //定義final變量沒有指定默認(rèn)值,則可以被賦值一次 final int d; d = 5; //再對d進(jìn)行新的賦值,不合法 // d = 8; }

Final修飾基本類型變量和引用類型的變量的區(qū)別

Final修飾基本類型變量上面已經(jīng)講述的很清楚了,那引用類型的變量會(huì)有什么不同呢?對于引用類型的變量而言,它僅僅是保存了一個(gè)引用關(guān)系,final只保證這個(gè)引用類型變量所引用的地址不會(huì)改變,即一直引用同一個(gè)對象,但這個(gè)對象完全可以發(fā)生改變。下面通過代碼來驗(yàn)證一下:

class Person1{ private int age; //有一個(gè)參數(shù)的構(gòu)造函數(shù) public Person1(int age) { this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }} public class FinalReferenceText { public static void main(String[] args) { final int [] arr = {5,6,12,9}; System.out.println(Arrays.toString(arr)); Arrays.sort(arr); System.out.println(Arrays.toString(arr)); arr[2] = -8; System.out.println(Arrays.toString(arr)); //下面對arr重新賦值,非法 //arr = null; //final 修飾Person變量,p是一個(gè)引用變量 final Person1 p = new Person1(45); //改變Person對象的實(shí)例變量,合法 p.setAge(55); System.out.println(p.getAge()); //下面對p重新賦值,非法 //p = null; } }

結(jié)果:[5, 6, 12, 9][5, 6, 9, 12][5, 6, -8, 12]55

final方法

Final修飾的方法不可被重寫,如果處于某種原因,不希望子類重寫父類的某個(gè)方法,則可以使用final關(guān)鍵字修飾該方法。

如果父類中的方法的是公有的,則子類中不能有一個(gè)一樣方法名,一樣參數(shù)的方法,但如果父類中的方法是私有的,那么子類中完全可以寫一個(gè)一樣的方法。

對于private類型的方法,由于其只能在當(dāng)前類中可見,其子類無法訪問到該方法,所以子類無法重寫該方法,那么,如果子類中存在一個(gè)與父類private方法有相同方法名,一樣的參數(shù)列表,相同的返回值的方法,也不是方法的重寫,只是重新定義了一個(gè)新的方法。因此,final修飾一個(gè)private方法,依然可以在其子類中定義和父類private類型一樣的方法,不會(huì)有程序錯(cuò)誤。

public class PrivateFinalText{ //如果將訪問修飾符改成public,則其子類中的方法定義在程序編譯時(shí)會(huì)報(bào)錯(cuò) private final void text(); } class Sub extends PrivateFinalText{ //下面的方法完全沒有問題 public void text();}

以上是我目前對Java中final關(guān)鍵字的總結(jié),稍后會(huì)有補(bǔ)充!!!

總結(jié)

到此這篇關(guān)于Java中final關(guān)鍵字的文章就介紹到這了,更多相關(guān)Java的final關(guān)鍵字內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
1000部精品久久久久久久久| 日韩1区在线| 久久久久久美女精品| 亚洲成av在线| 亚洲综合电影| 亚洲黄色中文字幕| 欧美偷窥清纯综合图区| 9久re热视频在线精品| 99久久精品国产亚洲精品| 99久久婷婷这里只有精品| 天堂网在线观看国产精品| 另类av一区二区| 亚洲人成高清| 国产亚洲人成a在线v网站| 日韩av中文字幕一区二区| 欧美一区二区三区久久精品| 美女在线视频一区| 日韩大片在线| 亚洲免费激情| 日本a级不卡| 成人精品国产亚洲| 欧美一级精品| 蜜桃视频在线观看一区| 69堂精品视频在线播放| 久久不卡国产精品一区二区| 国产一区二区三区四区二区| 亚洲成av在线| 男人的天堂久久精品| 国产日韩视频在线| 国产一区二区三区日韩精品| 91精品亚洲| 蜜臀av一区二区在线免费观看| 日韩精品第一| 成人国产精品久久| 99国产一区| 国产美女精品视频免费播放软件| a国产在线视频| 亚洲欧美日韩国产一区二区| 97成人在线| 日韩在线观看| 亚洲免费毛片| 国产成人免费精品| 偷拍欧美精品| 国产精品伊人| 久久久夜夜夜| 中文视频一区| 九九九精品视频| 国产亚洲激情| 加勒比视频一区| 日韩专区欧美专区| 国产一区二区三区视频在线| 蜜臀av一区二区在线免费观看| 精品国产午夜| 久久av一区| 日本一区二区免费高清| 中文字幕中文字幕精品| 免费亚洲婷婷| 国产精品美女久久久| 久久中文精品| 六月丁香综合| а√天堂8资源中文在线| 综合欧美精品| 久久在线视频免费观看| 欧美日本三区| 怡红院精品视频在线观看极品| 国产精品最新| 在线精品视频一区| 秋霞影视一区二区三区| 欧美日韩精品一区二区三区视频 | 91欧美极品| 久久婷婷一区| 欧美精品aa| 日韩精品一二三四| 日韩成人精品一区二区| 日韩高清在线一区| 伊人久久成人| 日韩精品第一区| 国产精品一级| 亚洲精品乱码| 婷婷综合社区| 国产精品yjizz视频网| 亚洲精品影视| 不卡av一区二区| 国产成人精品三级高清久久91| 亚洲三级精品| 狠狠爱成人网| 美女网站视频一区| 精品视频一区二区三区在线观看 | 91高清一区| 国产专区精品| 国产精品九九| 天堂精品久久久久| 黄色成人91| 国产传媒av在线| 精品一区电影| 国产精品.xx视频.xxtv| 日韩av不卡一区二区| 夜久久久久久| 99久久婷婷| 久久天堂av| 天堂中文av在线资源库| 精品入口麻豆88视频| 麻豆精品久久久| 国产精品成人自拍| 欧美一区二区三区久久| 日韩视频一二区| 亚洲制服欧美另类| 亚洲婷婷丁香| 老司机精品久久| 免费久久99精品国产自在现线| 一本一道久久a久久精品蜜桃| 91精品蜜臀一区二区三区在线| 日韩国产专区| 蜜桃精品在线| 99精品美女| 国精品一区二区三区| 国精品一区二区三区| 欧美在线亚洲综合一区| 欧美日韩国产在线一区| 精品欧美久久| 91精品福利| 欧美不卡视频| 欧美成人综合| 亚洲精品网址| 国产精品腿扒开做爽爽爽挤奶网站| 尹人成人综合网| 日本欧美在线看| 亚洲另类黄色| 欧美午夜网站| 久久精品国产999大香线蕉| 麻豆高清免费国产一区| 精品伊人久久| 日韩精品免费一区二区三区| 国内精品99| 蜜桃av一区二区三区电影| 免费美女久久99| 婷婷综合成人| 国产精品天天看天天狠| 久久中文字幕一区二区三区| 国产粉嫩在线观看| 亚洲第一区色| 麻豆亚洲精品| 日本欧美韩国一区三区| 久久影院一区二区三区| 热三久草你在线| 欧美国产91| 亚洲人妖在线| 久久精品二区亚洲w码| 日韩av首页| 蜜桃一区二区三区在线观看| 国产美女久久| 日韩欧美一区二区三区免费看| 国产综合欧美| 天海翼亚洲一区二区三区| 欧美日韩调教| 色在线视频观看| 久久亚洲影院| 美女毛片一区二区三区四区最新中文字幕亚洲 | 91精品丝袜国产高跟在线| 乱一区二区av| 欧美成人精品| 日韩欧乱色一区二区三区在线| 久久的色偷偷| 欧美va天堂| 欧美日韩亚洲一区| 国产精品yjizz视频网| 欧美专区一区二区三区| 国产精品一在线观看| 久久久久久久久丰满| 日韩精品一级| 中文字幕一区久| 亚洲视频二区| 91一区二区| 一区二区亚洲视频| 久久久久久色 | 免费亚洲一区| 欧美va天堂在线| 久久激情综合网| 久久久蜜桃一区二区人| 日韩视频一二区| 视频小说一区二区| 亚洲精品中文字幕99999| 9999国产精品| 亚洲人成网站在线在线观看| 成人国产精品一区二区免费麻豆| 男女精品网站| 激情国产在线| 亚洲精品进入| 日本韩国欧美超级黄在线观看| 亚洲综合福利| 开心激情综合| 中文字幕免费精品| 久久久久网站| 欧美精品91| 视频一区视频二区中文字幕| 手机在线电影一区| 日韩激情一二三区| 亚洲精品99| 伊人久久在线| 国产精品久久久久久模特|