麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

【JAVA】final修飾Field

2019-11-15 01:02:54
字體:
供稿:網(wǎng)友
java】final修飾Field

一、簡介

  final修飾符可以用來修飾變量、方法、類。final修飾變量時(shí)一旦被賦值就不可以改變。

二、final成員變量

  成員變量是隨類初始化或?qū)ο蟪跏蓟跏蓟摹.?dāng)類初始化的時(shí)候,會(huì)給類變量分配內(nèi)存;當(dāng)對(duì)象初始化的時(shí)候,會(huì)給實(shí)例變量分配內(nèi)存。

  所以說,final修飾的變量可以在申明的時(shí)候指定初始值,也可以再靜態(tài)初始化塊中指定初始值;final修飾的實(shí)例變量除了在申明的時(shí)候指定初始值,還可以在構(gòu)造器或者在普通初始化塊中指定初始值。

  需要注意的是: 指定初始值只能在一處進(jìn)行,不可既在申明的時(shí)候指定,又在初始化塊中指定。

  

package fianlFieldCase;public class Test {    //實(shí)例field,在申明時(shí)賦值了    PRivate final String str = "java";        //實(shí)例field,在申明時(shí)未賦值    private final String str2;        //實(shí)例field,在申明時(shí)未賦值    private final int i;        //類field,在申明時(shí)賦值了    private static final int i2 = 2;        private static final int i3;        {        //在普通初始化塊中給實(shí)例field賦值        str2 = "normalFinalField";    }        static    {        //在靜態(tài)初始化塊中給類field指定初始值        i3 = 3;    }    public Test()    {        //在構(gòu)造器中給實(shí)例field賦值        i = 1;                        //在構(gòu)造器中給已經(jīng)在初始化中賦了值的str2重新賦值,將會(huì)報(bào)編譯錯(cuò)。        //str2 = "re";    }}

  注意: final修飾的成員變量必須顯式進(jìn)行初始化,若與普通成員變量一樣,由系統(tǒng)給出默認(rèn)值,而此變量又是不可變的,那這個(gè)變量也就失去意義了。所以JAVA語法規(guī)定final修飾的成員變量必須顯式初始化。

三、final局部變量

  final修飾的局部變量可以在申明的時(shí)候賦值,也可以在后面賦值,但只能賦值一次,否則會(huì)編譯不通過。同樣final修飾的形參也是的,不可以重新進(jìn)行賦值,因?yàn)樾螀⑹窃谠摲椒ū徽{(diào)用的時(shí)候被賦值的。  

package fianlFieldCase;public class FinalField {        public static void print(final String str)    {        //str不能被重新賦值        //str = "android";        System.out.println(str);    }    public static void main(String[] args) {        //final修飾的局部變量在申明的時(shí)候就被初始化了        final String s = "java";                //若重新賦值,便會(huì)編譯不通過        //s = "python";                //final修飾的局部變量,沒有被初始化        final int i;                //可以在后面進(jìn)行初始化        i = 1;                //重新賦值,便會(huì)報(bào)錯(cuò)        //i = 2;                print("Ruby");    }}

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

  當(dāng)使用final修飾基本類型變量時(shí),不能對(duì)基本類型變量進(jìn)行重新賦值,因此基本類型變量不能被改變。

  當(dāng)final修飾引用類型變量時(shí),它僅僅是一個(gè)引用,存放的是對(duì)象的地址,那這個(gè)地址是不能變的,即不能指向新的地址,但指向的這個(gè)對(duì)象里面的值其實(shí)是可以改變的。

  final修飾方法和類將在后續(xù)博客進(jìn)行總結(jié)!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美特级一级毛片 | 成人免费观看av | 久久久精品精品 | 在线播放免费人成毛片乱码 | xxxxxx视频 | 中文字幕综合在线观看 | 亚洲成人精品一区二区 | 羞羞色院91精品网站 | 一区二区三区视频在线播放 | 99视频有精品视频高清 | 日韩视频在线视频 | 欧美亚洲另类在线 | 成人午夜视频免费 | 国产精品久久久久久久久久久久午夜 | 黄色免费在线电影 | 精品一区二区亚洲 | av电影在线观看网址 | 51国产偷自视频区视频小蝌蚪 | 久久久久久99 | 色污视频在线观看 | 99在线热视频 | 国产伊人色 | 91久久国产综合久久91猫猫 | 视频一区国产 | 欧美a级在线免费观看 | 成人国产精品一区二区毛片在线 | 国产片91 | 中文字幕精品在线播放 | 一区二区三区欧洲 | 久久艹逼 | 亚洲精品久久久久久久久久久 | 黄色视品| 免费久久精品 | 久久精品国产清自在天天线 | 精品999www| 天天色宗合 | 在线播放视频一区二区 | 毛片午夜 | 91经典视频 | 最新中文在线视频 | 色婷婷久久一区二区 |