隨筆 - 20  文章 - 57  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          51CTO

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

                這篇文章我講述的是類與對象的關(guān)系,以及類與對象的創(chuàng)建過程以及在創(chuàng)建的時候內(nèi)存的分配方式。
             
                首先,我們先了解一下什么是類,什么是對象?
                類——簡單的說就是對象的高度概括。
                對象——對象是一個類的具體表現(xiàn)
                類是所有具有相同特征的對象抽象出來的總體概括,也就是說類是只是一個概念,這個概念包括所有對象的共同屬性和方法。對象是類的一個具體的實例,是實實在在存在的。
                也可以說,類包含了這個類所創(chuàng)建的所有對象的共同點(diǎn)。就像通常我們所說的人類。人類都有一定的屬性(例如,我們都有名字,都有手有腳……),這個屬性并不是人類特有的(比如,猩猩這個類,他們也都有手有腳……),但一定是全部的人所共有的——也就是說所有的人都有人類的屬性。當(dāng)然,每一個類也都有一定的方法(例如,人類都可以思考問題,可以吃飯,可以睡覺),但不一定是人類所特有的(比如,猩猩也可以做一些簡單的思考,也可以吃飯睡覺等)。

                在我看來,我覺得 類 用一句話說就是:具有相同特征(屬性)和行為(方法)的任何事物都可以看做一個類。
                                對象 就是:某個類的具體實例,一個實實在在的事物,擁有類的特征和方法。

                                                                       
                ——這里先不考慮一些特殊情況。
                      
                現(xiàn)在,我們來說說在Java編程中類的創(chuàng)建以及在創(chuàng)建過程中內(nèi)存的分配方式:
                在Java中創(chuàng)建類的關(guān)鍵字是 class ,類名總收標(biāo)識符的命令方式,但類名的第一個字母應(yīng)該大寫,這只是業(yè)內(nèi)人士的一種規(guī)則,好處嘛當(dāng)然也是大大的……
                下面我們以一個例子來說明:
                    //創(chuàng)建一個Person類
                    class Person
                   {
                      //定義類的name和age屬性
                      public String name;
                      public int age;
                     
                      //定義一個類的簡單的方法
                      public void say(){
                        System.out.println("I am SKY!");
                      }
            
                   }
                   這個類是創(chuàng)建完了,但這個過程內(nèi)存是怎么分配的我還不清楚,其實我覺得這不是我們現(xiàn)在要考慮的問題,最重要的是下一步類的聲明和實例化過程中內(nèi)存是怎么分配的。

                    //我們再定義一個Person測試類PersonTest
                    public class PersonTest{
                    public static void main(String[] args){
                    //聲明一個person1對象
                    Person person1 = null;//——>這個過程只是在棧內(nèi)存開辟一塊空間,存放person1的句柄
                    //對象的實例化
                    person1 = new Person();//——>這個過程是在堆內(nèi)存開辟了一塊空間,來存放person1的屬性和方法(這塊內(nèi)存的首地址會被存放在person1在棧的內(nèi)存中)
                    //其實在這我也有部分不明白:就是這時的person1句柄是不是就是person1在堆內(nèi)存的地址?
                    //調(diào)用say方法
                    person1.say();
           
                      }
                    }
                    運(yùn)行這個程序,會輸出:
                                           I am SKY!





              可能自己的表達(dá)能力有限,說的不夠清楚,如有疑問,請留下來,我們一起探討。
               






          posted on 2010-10-14 00:03 tovep 閱讀(140) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主頁
          主站蜘蛛池模板: 东至县| 凤庆县| 司法| 温宿县| 巫山县| 阿拉善右旗| 石泉县| SHOW| 乐平市| 洪江市| 竹山县| 米脂县| 巴林左旗| 怀远县| 孙吴县| 蛟河市| 综艺| 双城市| 沙田区| 安西县| 景泰县| 色达县| 彭山县| 云浮市| 库伦旗| 普兰县| 青州市| 麻阳| 石渠县| 闸北区| 高要市| 贵定县| 黄大仙区| 潍坊市| 阳江市| 布拖县| 绿春县| 山阴县| 清远市| 兴山县| 临桂县|