【蛻變之路】第9天 變量 (2019年2月27日)

    Hello,大家好!我是程序員阿飛!今天呢,告訴大家一個好消息以及一個壞消息。好消息是我拿到了第一家公司的offer,壞消息是因爲各種原圖最後拒絕了。總之,希望這家公司以後的發展越來越好吧!好了,進入今天的主題:變量。

     1、類變量、成員變量和局部變量

     類變量:定義在類中,方法體之外。但是必須有static來修飾變量,靜態成員屬於整個類。可以通過對象名或者類名來調用。

     public  class  Test{

        static int i = 0; //類變量

        public void  print(){

            //其他代碼

            }

    }

    成員變量:定義在類中,方法體之外。成員變量在創建對象時實例化,同時可被類中的方法、構造方法或者特定的語句塊訪問。

    public calss Test{

        int i = 0;//成員變量

        public void print(){

            //其他代碼

        }

    }

     局部變量:在方法、構造方法以及語句塊中定義的變量,其聲明和初始化在方法中實現,在方法結束後自動銷燬。

     public calss Test{

            public void print(){

                int i = 0;//局部變量

                //其他代碼

            }

        }

    

    成員變量和類變量的區別:

          1、兩個變量的生命週期不同

                   成員變量隨着對象的創建而存在,隨着對象的回收而釋放。

                   靜態變量隨着類的加載而存在,隨着類的消失而消失。

          2、調用方式不同

                  成員變量只能被對象調用。

                  靜態變量可以被對象調用,還可以被類名調用。

          3、別名不同

                  成員變量也稱爲實例變量。

                  靜態變量也稱爲類變量。

          4、數據存儲位置不同

                 成員變量存儲在堆內存的對象中,所以也叫對象的特有數據。

                 靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。

        參考地址:https://blog.csdn.net/zhaomengszu/article/details/79371070

    2、成員變量和方法作用域


同類同包
子類其他包
private


default

protected
public


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章