国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式

這篇具有很好參考價值的文章主要介紹了java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

前言:

過了入門階段,開始學(xué)習(xí)進(jìn)階語法了。每天進(jìn)步一點(diǎn)點(diǎn),打好基礎(chǔ),daydayup!

什么是面向?qū)ο缶幊蹋╫op),可以看這篇

java的面向?qū)ο缶幊蹋╫op)概述及案例?

static概述

static的意思為靜態(tài),用于修飾成員變量及成員方法。

成員變量根據(jù)有無static可以分為兩種——類變量及實(shí)例變量

public class demo {

            static  String name;//類變量
                    int age ;//實(shí)例變量


}
1,類變量

類變量屬于類,與類一起加載一次,在內(nèi)存中只有一份,可以被類和類的所有對象共享。

?使用方法:

1,加載類,使用變量引用

類名 變量名 = new 類名();
變量名.類變量=賦值;

例:根據(jù)上述demo類,編寫如下

  demo sc = new demo();
        sc.name = "lala";
        System.out.println(sc.name);

2,通過類名直接引用類變量

類名.類變量=賦值;

?例:編寫如下

  demo.name= "qingwa";
        System.out.println(demo.name);
使用注意:

由于只與類加載一次,所以當(dāng)賦值后,新值會替換原來的值

?java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式,java,開發(fā)語言

?2,實(shí)例變量

?實(shí)例對象屬于對象,每個對象都有一份,只能用對象訪問

使用方法:

加載類,使用變量引用

類名 變量名 = new 類名();
變量名.類變量=賦值;

例:如下

  demo sc = new demo();
         sc.age = 17;
使用注意:

每次生成類就會加載一次,所以每次賦值都會生成新的數(shù)字

java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式,java,開發(fā)語言

方法根據(jù)有無static可以分為類方法及實(shí)例方法?

public class demo {
    public static void student(){//類方法

        System.out.println("hhhhhh");
    }


    public void student1(){//實(shí)例方法

        System.out.println("aaaaaaa");
    }
}
1,類方法:

有static修飾的成員方法,屬于類方法

使用方法:

1,通過類名直接引用

類名.方法名

例:如下

 demo.student();

2,通過加載類再使用變量引用

類名 變量名 = new 類名();
變量名.方法名;

例:如下

 demo sc = new demo();
        sc.student();

例:兩種方式都能輸出方法?

java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式,java,開發(fā)語言?

2,實(shí)例方法:

?無static使用的成員方法,屬于對象

使用方法:?

通過加載類再使用變量引用

類名 變量名 = new 類名();
變量名.方法名;

例:如下


        demo sd = new demo();
        sd.student1();

java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式,java,開發(fā)語言?

注:main方法也是一種類方法

?static使用場景

static方法可用來做工具類

什么是工具類

?工具類是一種類方法,每一個類方法都是一種功能;提高了代碼的復(fù)用性,提高了開發(fā)效率

為什么用類方法創(chuàng)建工具類,而不是實(shí)例方法

實(shí)例方法需要創(chuàng)建對象來調(diào)用,會浪費(fèi)內(nèi)存

工具類定義時有什么要求

?由于工作類不需要創(chuàng)建對象,所以需要把構(gòu)造器私有化

?代碼塊中static的作用

?代碼塊分為兩種:靜態(tài)代碼塊及實(shí)例代碼塊

1,靜態(tài)代碼塊

格式:

static{}

特點(diǎn):

類加載時會自動執(zhí)行,由于類只加載一次,靜態(tài)代碼塊也只執(zhí)行一次

作用:

完成類的初始化?

?2,實(shí)體類代碼塊

?格式:

{}

?特點(diǎn):

每次創(chuàng)建對象時,執(zhí)行實(shí)例代碼塊,并在構(gòu)造器前執(zhí)行

作用:

和構(gòu)造器一樣,用來完成對象初始化的?

?設(shè)計模式

什么是設(shè)計模式

問題的最優(yōu)解解決方案稱為設(shè)計模式,設(shè)計模式有很多種,先了解單例設(shè)計模式。

?設(shè)計模式之一單例設(shè)計模式

把類的構(gòu)造器私有;定義一個類變量儲存類 的一個對象:提供一個類方法返回對象。其特點(diǎn)為:在獲取類的對象時,對象已經(jīng)創(chuàng)建好了。

注:頻繁使用對象時用餓漢式單例;不頻繁使用對象用懶漢式單例(可以節(jié)省內(nèi)存)

例1:如下(餓漢式單例:先創(chuàng)建出了對象)

public class car {
   private static car a = new car();
//定義一個類,儲存一個對象
    private car(){
//私有化構(gòu)造器
    }
    public static car use(){
        return a;//返回對象
    }
}

例2:如下?(懶漢式單例:使用時在創(chuàng)建對象)

public class moive {
    private static moive a;//創(chuàng)建對象
    private moive(){
        
    }//私有化構(gòu)造器
    private static moive use(){
        if (a==null){
            a=new moive();//當(dāng)使用時再創(chuàng)建對象
        }
        return a;//返回值
    }
    
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-803707.html

整理結(jié)束,撒花?。。?!?

?

?

到了這里,關(guān)于java的面向?qū)ο缶幊蹋╫op)——static概述及初始單例設(shè)計模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包