大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 猫咪视频成人永久免费观看 | 轻轻色在线视频中文字幕 | 91麻豆精品国产91久久久久 | 乱子伦xxxx厨房 | 久久婷婷五综合一区二区 | 黄色毛片视频 | 欧美激情二区 | 九九影音 | 国产精品欧美韩国日本久久 | 狼人香蕉香蕉在线视频播放 | 亚洲精彩| 久久精品最新免费国产成人 | a成人毛片免费观看 | 九九九精品视频免费 | 亚洲91av| 国产一区二区三区毛片 | 狠狠色噜噜狠狠狠8888米奇 | 免费视频久久看 | 国产精品视频99 | 欧美成人免费观看国产 | 精品国产乱码一区二区三区麻豆 | 欧美毛片一级 | 99re这里有免费视频精品 | www国产视频| 欧美日韩精品一区三区 | 九九热国产视频 | 亚洲精品久久99久久一区 | 国产精品推荐 | 国产美女a做受大片在线观看 | 国产91久久精品 | 亚洲性激情| 久草久热 | 国内精品久久久久久久星辰影视 | 桃色网站入口 | 五月天丁香六月欧美综合 | 欧美午夜毛片a级在线 | 天天干天天舔天天操 | 亚洲一区二区三区在线 | h片在线看 | 精品国产综合区久久久久99 | 99久久精品国产麻豆 |