大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java靜態(tài)變量概述

Java靜態(tài)變量概述

更新時間:2020-10-29 17:24:10 來源:動力節(jié)點 瀏覽982次

雖然java編程是一門實操性的技術(shù),但是理論知識對于學(xué)好java來說也是十分重要的。變量是是java零基礎(chǔ)的人在入門階段需要學(xué)習(xí)的重點內(nèi)容,今天這篇文章帶大家來學(xué)習(xí)java靜態(tài)變量的相關(guān)知識,學(xué)習(xí)靜態(tài)變量是什么,有什么特點以及怎樣使用,一起來看下面的內(nèi)容吧。


先來看java靜態(tài)變量是什么,靜態(tài)變量:內(nèi)存中只有一份,Java虛擬機(JVM)只為靜態(tài)變量分配一次內(nèi)存,在加載類的過程中完成靜態(tài)變量的內(nèi)存分配。由于靜態(tài)變量屬于類,與類的實例無關(guān),因而可以直接通過類名訪問這類變量。通過類名.屬性的方式訪問靜態(tài)變量。

image.png


與靜態(tài)變量相對應(yīng)是靜態(tài)方法,靜態(tài)方法:方法前加static修飾符,表明該方法與某個具體實例無關(guān),僅僅是該類的一個公共方法。通過類名.方法的方式訪問靜態(tài)方法。靜態(tài)變量和靜態(tài)方法都屬于靜態(tài)對象,那么java靜態(tài)對象有什么好處和優(yōu)點呢?


(1)靜態(tài)對象的數(shù)據(jù)在全局是唯一的,一改都改。如果你想要處理的東西是整個程序中唯一的,弄成靜態(tài)是個好方法。 非靜態(tài)的東西你修改以后只是修改了他自己的數(shù)據(jù),但是不會影響其他同類對象的數(shù)據(jù);(2)引用方便。直接用 類名.靜態(tài)方法名或者類名,靜態(tài)變量名就可引用并且直接可以修改其屬性值,不用get和set方法;(3)保持數(shù)據(jù)的唯一性。此數(shù)據(jù)全局都是唯一的,修改他的任何一處地方,在程序所有使用到的地方都將會體現(xiàn)到這些數(shù)據(jù)的修改。有效減少多余的浪費。

使用java靜態(tài)變量的優(yōu)點:不需要在進行bai實例化。靜態(tài)變量的值,直接賦新值即可,不需要參數(shù)傳遞,之后可以直接進行參數(shù)引用即可;靜態(tài)方法可以直接通過"類名.方法"的形式進行方法調(diào)用。通常方法被多次調(diào)用,并且方法中沒有動態(tài)方法引用的時候使用比較方便。


下面是一個靜態(tài)變量的例子,代碼如下:


class c1c {

    private static int num = 0;

    private static double pi = 3.14;

    private double radius;

    private int height;

    public c1c(double r,int h)

    {

        radius = r;

        height=h;

        num++;

    }

    public void count()

    {

        System.out.print("創(chuàng)建了"+num+"個對象");

    }

    double area() {

        return pi*radius*radius;

    }

    double volume() {

        return area()*height;

    }

}

public class cc{

    public static void main(String[] args)

    {

        c1c volu1=new c1c(2.5,5);

        volu1.count();

        System.out.println("圓柱1的體積="+volu1.volume());

        c1c volu2=new c1c(1.0,2);

        volu2.count();

        System.out.println("圓柱2的體積="+volu2.volume());

    }

}

image.png


本例中聲明了一個靜態(tài)變量num用于記錄程序中共產(chǎn)生了多少個對象,因為對象創(chuàng)建時會自動調(diào)用構(gòu)造方法,所以在構(gòu)造方法中加入了“num++;”語句,這樣每創(chuàng)建一個對象就調(diào)用一次構(gòu)造方法,從而每產(chǎn)生一個對象,num的值就會自動加1,此時,因為靜態(tài)變量是一個公共的存儲單元,所以類的任何一個對象去修改它時,都是在對同一個內(nèi)存單元做操作。去掉聲明num的static后:private int num = 0。

image.png


可以看到num的值沒有變化,這是因為num成為實例變量后,對創(chuàng)建的不同對象來說,都有自己獨立的內(nèi)存來保存它的值,且不與其他對象共享,因此若修改了volu1的num值,volu2的num并不受影響。


以上就是對java靜態(tài)變量相關(guān)知識的介紹,都是關(guān)于java靜態(tài)變量的基礎(chǔ)內(nèi)容,所以希望大家認真學(xué)習(xí),也希望上面的內(nèi)容能幫助朋友們理解靜態(tài)變量,同時可以在java教程中學(xué)習(xí)java靜態(tài)變量的使用。


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产亚洲精品国看不卡 | 66精品综合久久久久久久 | 国产激情一区二区三区成人91 | 成人性生活免费视频 | 国产成人一区二区三区精品久久 | 欧美一级a俄罗斯毛片 | 91美女啪啪| 老子影院午夜伦手机不卡6080 | 国产东北露脸对白 | 成年女人免费看一级人体片 | 久热最新 | 韩日性视频 | 国产欧美日韩综合一区二区三区 | 亚洲欧美激情精品一区二区 | 日韩中文字幕一区二区不卡 | 国产高清日韩 | 国人精品视频在线观看 | 夜夜超b天天 | 日韩二区 | 久热草| 亚洲欧美一区二区三区在线播放 | 免费精品在线视频 | 国产欧美日韩一区二区三区视频 | 亚洲一区二区三区四区热压胶 | 欧美一区二区三区在线观看 | 97综合网| 酒色网站 | 欧美国产大片 | 午夜影院免费在线观看 | 91九色视频无限观看免费 | 欧美日韩生活片 | 日本在线观看中文字幕 | 99精品视频免费在线观看 | 亚洲日韩精品欧美一区二区 | 成人免费观看www视频 | 亚洲视频在线一区 | 四虎精品永久在线网址 | 亚洲精品一区久久狠狠欧美 | 久久成年视频 | 日韩欧美精品综合一区二区三区 | 亚洲欧洲久久 |