最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java類的組成結(jié)構(gòu)詳解

 更新時(shí)間:2021年12月16日 11:12:38   作者:久成八  
大家好,本篇文章主要講的是java類的組成結(jié)構(gòu)詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

成員變量

成員變量便是在類中定義的變量。
例如這樣:

public class POP {
    int a = 1;
}

而成員變量又分為兩種,一種是被static所修飾的類變量,他歸類所有,一種是沒有被static修飾的實(shí)例變量,他歸對(duì)象所有。

如下:

public class POP {
    int a = 1;
    static int b = 1;
}

正如字面上的意思,歸類所有的變量b,他能在類的外部,直接通過POP.b的形式進(jìn)行操作。

如下程序:

    public static void main(String[] args) {
        POP.b++;
        System.out.println(POP.b);
    }

但是,在實(shí)際使用中,我們也可以通過對(duì)象.b的形式來調(diào)用他。

如下:

    public static void main(String[] args) {
        POP.b++;
        System.out.println(POP.b);
        System.out.println(new POP().b);
    }

這是java很不好的一個(gè)缺陷,因?yàn)檫@個(gè)變量b,實(shí)際上是屬于類的,雖然能用對(duì)象來調(diào)用,但不建議。

再理解一下這個(gè)變量b只有一份,如下程序:

    public static void main(String[] args) {
        POP.b++;
        System.out.println(POP.b);
        System.out.println(new POP().b++);
        System.out.println(new POP().b++);
    }

你會(huì)發(fā)現(xiàn),盡管我使用不同的對(duì)象去對(duì)b進(jìn)行操作,但是他們的操作卻共同作用在了同一個(gè)b上,這也是我為什么不建議使用對(duì)象來調(diào)用類變量。

成員變量可以被四種權(quán)限修飾符修飾,以適應(yīng)各種適用情形。

成員變量可以被final修飾,作為常量。

成員變量也可以被我上面提到的static修飾。

附上總代碼:

public class POP {
    public static void main(String[] args) {
        POP.b++;
        System.out.println(POP.b);
        System.out.println(new POP().b++);
        System.out.println(new POP().b++);
    }
    int a = 1;
    static int b = 1;
}

方法

方法按照被static修飾分為實(shí)例方法以及類方法。

    public void get(){

    }
    public static void did(){

    }

需要注意的是,實(shí)例方法可以調(diào)用類變量,而類方法不可以調(diào)用實(shí)例變量,為什么呢?

我們可以思考一下,類方法是為類所有的,實(shí)例方法是由對(duì)象所有的。

類存在的時(shí)候,對(duì)象不一定被創(chuàng)建了,如果這時(shí)候通過類方法來調(diào)用實(shí)例變量,此實(shí)例變量不存在,因此,這是不可取的。

方法可以被四種權(quán)限修飾符修飾。

方法可以被static修飾。

方法可以被final修飾,表示不能被子類重寫。

方法可以被abstract修飾,表示這為一個(gè)抽象方法,而只要有一個(gè)抽象方法,那該類就是一個(gè)抽象類。

關(guān)于抽象類的內(nèi)容以后再談。

構(gòu)造器

構(gòu)造器,用于創(chuàng)建對(duì)象。

可以被四種權(quán)限修飾符修飾。

    protected POP(){

    }
    POP(int a){

    }

我們可以通過this.POP(形參列表)的形式,來在構(gòu)造器里面調(diào)用其他構(gòu)造器,注意,這種方式,必須寫在方法體的最上部分,并且,如果沒有寫this,那么java會(huì)默認(rèn)用super來調(diào)用父類的空參構(gòu)造器,這也是為什么我們建議設(shè)計(jì)程序的時(shí)候

總是留一個(gè)空參構(gòu)造器。

那么,我們?yōu)槭裁匆谝粋€(gè)構(gòu)造器里面通過this調(diào)用另一個(gè)構(gòu)造器呢?

因?yàn)檫@樣能減少代碼的重復(fù),方便我們迭代升級(jí)。

另外注意,構(gòu)造器是沒有返回值的,當(dāng)然你也可以說他的返回值就是他所創(chuàng)建的對(duì)象,不過我們不能顯示的指明。

代碼塊

代碼塊分為實(shí)例代碼塊和類代碼塊。

    {
        System.out.println("實(shí)例代碼塊");
    }
    static{
        System.out.println("類代碼塊");
    }

類代碼塊屬于類,在類的加載的時(shí)候就會(huì)執(zhí)行,而實(shí)例代碼塊在對(duì)象的創(chuàng)建的時(shí)候會(huì)執(zhí)行。

到此這篇關(guān)于java類的組成結(jié)構(gòu)詳解的文章就介紹到這了,更多相關(guān)java類組成結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計(jì)模式之java備忘錄模式詳解

    Java設(shè)計(jì)模式之java備忘錄模式詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之備忘錄模式,簡(jiǎn)單說明了備忘錄模式的概念、原理并結(jié)合實(shí)例形式分析了java備忘錄模式的具體定義及使用方法,需要的朋友可以參考下
    2021-09-09
  • IntelliJ IDEA 2020.3 重大特性(新功能一覽)

    IntelliJ IDEA 2020.3 重大特性(新功能一覽)

    這篇文章主要介紹了IntelliJ IDEA 2020.3 重大特性(新功能一覽),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作完整案例

    Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作完整案例

    這篇文章主要介紹了Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作,結(jié)合完整實(shí)例形式分析了java基于面向?qū)ο蟮纳唐沸畔⑻砑?、刪除、查找等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式

    Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式

    這篇文章主要介紹了Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • mybatis條件語句中帶數(shù)組參數(shù)的處理

    mybatis條件語句中帶數(shù)組參數(shù)的處理

    這篇文章主要介紹了mybatis條件語句中帶數(shù)組參數(shù)的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 淺析Java8新特性Lambda表達(dá)式和函數(shù)式接口

    淺析Java8新特性Lambda表達(dá)式和函數(shù)式接口

    Lambda表達(dá)式理解為是 一段可以傳遞的代碼。最直觀的是使用Lambda表達(dá)式之后不用再寫大量的匿名內(nèi)部類,簡(jiǎn)化代碼,提高了代碼的可讀性
    2017-08-08
  • IntelliJ IDEA 15款超級(jí)牛逼插件推薦(自用,超級(jí)牛逼)

    IntelliJ IDEA 15款超級(jí)牛逼插件推薦(自用,超級(jí)牛逼)

    這篇文章主要給大家推薦介紹了IntelliJ IDEA 15款超級(jí)牛逼插件,這15款插件都是自用的,真的非常推薦,需要的朋友可以參考下
    2020-11-11
  • 解決json串和實(shí)體類字段不一致的問題

    解決json串和實(shí)體類字段不一致的問題

    這篇文章主要介紹了解決json串和實(shí)體類字段不一致的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解

    SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解

    這篇文章主要介紹了SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解,在創(chuàng)建代理的時(shí)候?qū)δ繕?biāo)類的每個(gè)連接點(diǎn)使用靜態(tài)切點(diǎn)檢查,如果僅通過靜態(tài)切點(diǎn)檢查就可以知道連接點(diǎn)是不匹配的,則在運(yùn)行時(shí)就不再進(jìn)行動(dòng)態(tài)檢查了,需要的朋友可以參考下
    2023-09-09
  • SpringCloud Gateway自動(dòng)裝配實(shí)現(xiàn)流程詳解

    SpringCloud Gateway自動(dòng)裝配實(shí)現(xiàn)流程詳解

    Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的、統(tǒng)一的 API 路由管理方式。Spring Cloud Gateway 作為 Spring Cloud 生態(tài)系中的網(wǎng)關(guān),它不僅提供統(tǒng)一的路由方式,并且基于 Filter 鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全、監(jiān)控/埋點(diǎn)和限流等
    2022-10-10

最新評(píng)論

怀远县| 宽城| 柘荣县| 黑河市| 霍山县| 谷城县| 胶州市| 南溪县| 吉安县| 青海省| 海门市| 河北省| 万盛区| 乾安县| 沈阳市| 若尔盖县| 山阴县| 河北省| 陇西县| 清苑县| 达孜县| 新巴尔虎右旗| 达州市| 响水县| 深圳市| 酉阳| 喀喇沁旗| 鸡东县| 池州市| 荥阳市| 高雄县| 突泉县| 冀州市| 沁源县| 治多县| 天镇县| 吉木乃县| 定远县| 库车县| 镇康县| 霞浦县|