亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

成員變量

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

public class POP {
    int a = 1;
}

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

如下:

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

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

如下程序:

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

但是,在實(shí)際使用中,我們也可以通過(guò)對(duì)象.b的形式來(lái)調(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ì)象來(lái)調(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ì)象來(lái)調(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í)候通過(guò)類方法來(lái)調(diào)用實(shí)例變量,此實(shí)例變量不存在,因此,這是不可取的。

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

方法可以被static修飾。

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

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

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

構(gòu)造器

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

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

    protected POP(){

    }
    POP(int a){

    }

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

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

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

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

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

代碼塊

代碼塊分為實(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 IO流和文件操作實(shí)現(xiàn)過(guò)程解析

    Java IO流和文件操作實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Java IO流和文件操作實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot使用Spring Test進(jìn)行集成測(cè)試的流程步驟

    SpringBoot使用Spring Test進(jìn)行集成測(cè)試的流程步驟

    Spring Test 是 Spring Framework 提供的一個(gè)測(cè)試框架,它可以幫助我們進(jìn)行集成測(cè)試,在本文中,我們將介紹如何使用 Spring Test 進(jìn)行集成測(cè)試,需要的朋友可以參考下
    2023-06-06
  • logback的isDebugEnabled日志配置級(jí)別源碼解析

    logback的isDebugEnabled日志配置級(jí)別源碼解析

    這篇文章主要為大家介紹了logback的isDebugEnabled日志配置級(jí)別源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Spring創(chuàng)建Bean的過(guò)程Debug的詳細(xì)流程

    Spring創(chuàng)建Bean的過(guò)程Debug的詳細(xì)流程

    這篇文章主要介紹了Spring創(chuàng)建Bean的過(guò)程Debug的流程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 最新評(píng)論