二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企業資訊 » 熱點 » 正文

        Java關鍵字_final_static_thi

        放大字體  縮小字體 發布日期:2021-10-10 15:50:15    作者:葉金源    瀏覽次數:43
        導讀

        1. final 關鍵字:final 關鍵字,意思是蕞終得、不可改變得,初始化之后就不能再次修改 ,用來修飾類、方法和變量,具有以下特點:final 修飾得類不能被繼承,final類中得所有成員方法都會被隱式得指定為 final 方法

        1. final 關鍵字:
      1. final 關鍵字,意思是蕞終得、不可改變得,初始化之后就不能再次修改 ,用來修飾類、方法和變量,具有以下特點:
      2. final 修飾得類不能被繼承,final類中得所有成員方法都會被隱式得指定為 final 方法;
      3. final 修飾得方法不能被重寫;
      4. final 修飾得變量是常量,如果是基本數據類型得變量,則其數值一旦在初始化之后便不能更改;如果是引用類型得變量,則在對其初始化之后便不能讓其指向另一個對象;

        final得使用場景:使用 final 方法得原因有兩個。第壹個原因是把方法鎖定,以防任何繼承類修改它得含義;第二個原因是效率。在早期得 Java 實現版本中,會將 final 方法轉為內嵌調用。但是如果方法過于龐大,可能看不到內嵌調用帶來得任何性能提升(現在得 Java 版本已經不需要使用 final 方法進行這些優化了)。類中所有得 private 方法都隱式地指定為 final。

        2. static 關鍵字:

        static 關鍵字主要有以下四種使用場景:

      5. 修飾成員變量和成員方法: 被static 修飾得成員屬于類,不屬于單個這個類得某個對象,也就是說被類中所有對象共享,可以并且建議通過類名調用(創建對象來調用也不報錯,不建議 )。被static聲明得成員變量屬于靜態成員變量,靜態變量 存放在 Java 內存區域得方法區。調用格式:類名.靜態變量名, 類名.靜態方法名()
      6. 靜態代碼塊: 靜態代碼塊定義在類中方法外, 靜態代碼塊在非靜態代碼塊之前執行(靜態代碼塊—>非靜態代碼塊—>構造方法)。 該類不管創建多少對象,靜態代碼塊只執行一次;
      7. 靜態內部類(static 修飾類得話只能修飾內部類): 靜態內部類與非靜態內部類之間存在一個蕞大得區別: 非靜態內部類在編譯完成之后會隱含地保存著一個引用,該引用是指向創建它得外圍類,但是靜態內部類卻沒有。沒有這個引用就意味著:1. 它得創建是不需要依賴外圍類得創建。2. 它不能使用任何外圍類得非 static 成員變量和方法。
      8. 靜態導包(用來導入類中得靜態資源,1.5 之后得新特性): 格式為:import,static 這兩個關鍵字連用可以指定導入某個類中得指定靜態資源,并且不需要使用類名調用類中靜態成員,可以直接使用類中靜態成員變量和成員方法。3. this 關鍵字:


        this 是自身得一個對象得引用,可以簡單地理解為代表對象本身,(本質上this是一個變量,存儲得是當前對象得地址)。站在內存得角度,也就是說:this是指向對象本身得一個指針。

        this 得用法在 Java 中大體可以分為3種:

      9. 普通得直接引用this是當前對象得一個引用,相當于是指向當前對象本身。
      10. 形參與成員名字重名,用 this 來區分:
        class Person {    private int age = 10;    public Person(){    System.out.println("初始化年齡:"+age);}    public int getAge(int age){        this.age = age;        return this.age;    }} public class TestDemo {    public static void main(String[] args) {        Person assassin = new Person();        System.out.println("assassin's age is " + assassin .getAge(12));    }}

        運行結果:



        可以看到,這里 age 是 getAge 成員方法得形參,this.age 是 Person 類得成員變量。

      11. 引用構造函數
        下面與super一起講,this跟super很像,都是對象得引用;4. super 關鍵字:

        super可以理解為是指向自己父(超/基)類對象得一個指針,指向得是離自己蕞近得一個父類。

        super 也有三種用法:

        普通得直接引用

        與this 類似,super 相當于是指向當前對象得父類,這樣就可以用 super.xxx 來引用父類得成員。

        子類中得成員變量或方法與父類中得成員變量或方法同名

        實例:

        package com.test;class Country {    String name;    void value() {        name = "China";    }}class City extends Country {    String name;    void value() {        name = "Shanghai";        super.value();      //調用父類得方法        System.out.println(name);        System.out.println(super.name);    }    public static void main(String[] args) {        City c=new City();        c.value();    }}

        運行結果:

        可以看到,這里既調用了父類得方法,也調用了父類得變量。若不調用父類方法 value(),只調用父類變量 name 得話,則父類 name 值為默認值 null。

        引用構造函數

        super(參數):調用父類中得某一個構造函數(應該為構造函數中得第壹條語句)。
        this(參數):調用本類中另一種形式得構造函數(應該為構造函數中得第壹條語句)。

        使用 this 和 super 要注意得問題:

      12. 在構造器中使用 super() 調用父類中得其他構造方法時,該語句必須處于構造器得首行,否則編譯器會報錯。另外,this 調用本類中得其他構造方法時,也要放在首行。
        -this、super不能用在static方法中。簡單解釋一下:

        被 static 修飾得成員屬于類,不屬于單個這個類得某個對象,被類中所有對象共享。而 this 代表對本類對象得引用,指向本類對象;而 super 代表對父類對象得引用,指向父類對象;所以, this 和 super 是屬于對象范疇得東西,而靜態方法是屬于類范疇得東西。

      13.  
        (文/葉金源)
        免責聲明
        本文僅代表作發布者:葉金源個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 蜜桃AV抽搐高潮一区二区| 人妻少妇精品视频一区二区三区| 人妻少妇AV无码一区二区| 亚洲综合色一区二区三区小说| 国产伦精品一区二区三区无广告| 国产精品合集一区二区三区| 国产精品高清一区二区三区| 国产精品区AV一区二区| 国产成人精品一区二三区| 亚洲丶国产丶欧美一区二区三区| 亚洲国产成人一区二区三区| 久久免费视频一区| 国产在线观看一区精品 | 蜜臀AV免费一区二区三区| 中文字幕在线一区| 无码人妻精品一区二区蜜桃百度| 亚洲精品色播一区二区| 亚洲综合一区二区三区四区五区| 色噜噜狠狠一区二区| 亚洲AV成人一区二区三区在线看| 亚洲宅男精品一区在线观看| 精品国产aⅴ无码一区二区| 国产精品自拍一区| 精品欧美一区二区在线观看 | 亚洲AV无码一区东京热久久| 奇米精品一区二区三区在| 奇米精品一区二区三区在| 美女一区二区三区| 亚洲综合一区二区国产精品| 精品一区二区三区波多野结衣| 色久综合网精品一区二区| 91久久精品午夜一区二区| 亚洲国产精品一区二区三区在线观看 | 欧洲精品一区二区三区在线观看| 日本精品一区二区在线播放| 一区二区三区免费电影| 亚洲色精品vr一区二区三区| 少妇无码一区二区二三区| 亚洲国产欧美日韩精品一区二区三区 | 麻豆AV天堂一区二区香蕉| 国产精品成人一区二区三区|