<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jason ---分享,共同進步

    激情成就夢想,努力創(chuàng)造未來
    隨筆 - 53, 文章 - 1, 評論 - 45, 引用 - 0
    數(shù)據(jù)加載中……

    一個java的基礎(chǔ)試題

    下面是一個java的基礎(chǔ)試題,我也記不起來在哪里看到了,應(yīng)該有類似這樣的題。我們來看一下。
    例題1 :
    QUESTION NO: 1

      1、

    public class Test 

     


    QUESTION NO: 2

       2,

    public class Test {
        
        
    public static void group(test1 a){
            a.setId(
    "2");
        }
        
        
    public static void main(String arg[]){
            test1 a 
    =  new Test().new test1();
            a.setId(
    "1");
            group(a);
            System.out.println(a.getId());
        }

        
        
    class test1{
            String id;
            String name;
            
    public String getId() {
                
    return id;
            }

            
    public void setId(String id) {
                
    this.id = id;
            }

            
    public String getName() {
                
    return name;
            }

            
    public void setName(String name) {
                
    this.name = name;
            }

        }


    根據(jù)上面的程序 1,我們看看得到的結(jié)果應(yīng)該是什么。
    這道題涉及的問題就是對象與對象以用的問題,這個問題大家很容易混淆。這道題的答案是1234。
    那么根據(jù)問題1,你能否知道問題2的答案呢,問題2的答案是2.
    分析:對對象引用的不是很熟悉的人一定以為問題2的答案應(yīng)該不變也是1,怎么是2呢.
    這就是涉及對象以及對象引用的問題了.
    一首先介紹一下對象的引用.
    創(chuàng)建對象
     創(chuàng)建一個對象,其實,它包含了四個動作。object a=new object();
    1)右邊的“new object”,是以object類為模板,在堆空間里創(chuàng)建一個object類對象(也簡稱為object對象)。
    2)末尾的()意味著,在對象創(chuàng)建后,立即調(diào)用object類的構(gòu)造函數(shù),對剛生成的對象進行初始化。構(gòu)造函數(shù)是肯定有的。如果你沒寫,Java會給你補上一個默認的構(gòu)造函數(shù)。
    3)左邊的“object a”創(chuàng)建了一個object類引用變量。所謂object類引用,就是以后可以用來指向object對象的對象引用。
    4)“=”操作符使對象引用指向剛創(chuàng)建的那個object對象。我們可以把這條語句拆成兩部分:
    object a;
    a= new object();
    效果是一樣的。這樣寫,就比較清楚了,有兩個實體:一是對象引用變量,一是對象本身。      
    在堆空間里創(chuàng)建的實體,與在數(shù)據(jù)段以及棧空間里創(chuàng)建的實體不同。盡管它們也是確確實實存在的實體,但是,我們看不見,也摸不著。
    不僅如此,我們仔細研究一下第二句,找找剛創(chuàng)建的對象叫什么名字?有人說,它叫“object”。不對,“object”是類(對象的創(chuàng)建模板)的名字。一個object類可以據(jù)此創(chuàng)建出無數(shù)個對象,這些對象不可能全叫“object”。      
    對象連名都沒有,沒法直接訪問它。我們只能通過對象引用來間接訪問對象。      
    為了形象地說明對象、引用及它們之間的關(guān)系,
    為了說明這個關(guān)系,我在網(wǎng)上看到別人的比喻挺好的我也引用一下:
    對象好比是一只很大的氣球,大到我們抓不住它。引用變量是一根繩,可以用來系汽球。       如果只執(zhí)行了第一條語句,還沒執(zhí)行第二條,此時創(chuàng)建的引用變量a還沒指向任何一個對象,它的值是null。引用變量可以指向某個對象,或者為null。它是一根繩,一根還沒有系上任何一個汽球的繩。執(zhí)行了第二句后,一只新汽球做出來了,并被系在a這根繩上。我們抓住這根繩,就等于抓住了那只汽球。再來一句:       object a1;就又做了一根繩,還沒系上汽球。如果再加一句:       a1= a;系上了。這里,發(fā)生了復(fù)制行為。但是,要說明的是,對象本身并沒有被復(fù)制,被復(fù)制的只是對象引用。結(jié)果是,a1也指向了a所指向的對象。兩根繩系的是同一只汽球。       如果用下句再創(chuàng)建一個對象:a1= new object();則引用變量a1改指向第二個對象。       從以上敘述再推演下去,
    我們可以獲得以下結(jié)論:(1)一個對象引用可以指向0個或1個對象(一根繩子可以不系汽球,也可以系一個汽球);(2)一個對象可以有N個引用指向它(可以有N條繩子系住一個汽球)。      
    如果再來下面語句:       a= a1;按上面的推斷,a也指向了第二個對象。這個沒問題。問題是第一個對象呢?沒有一條繩子系住它,它飛了。多數(shù)書里說,它被Java的垃圾回收機制回收了。這不確切。正確地說,它已成為垃圾回收機制的處理對象。至于什么時候真正被回收,那要看垃圾回收機制的心情了。
    了解了上面的對象的引用,我們應(yīng)該熟悉對象以及對象的引用了.我們回頭再說第一題

    java內(nèi)部提供了幾個類,這些類可以不使用new關(guān)鍵字來初始化,例如: string

    上面問題1,可以改成下面的方法
      1、

    public class Test {

      
    public static void changeStr(String str){

      str
    =new String("welcome");

      }


      
    public static void main(String[] args) {

      String str
    =new String("1234");

      changeStr(str);

      System.out.println(str);

      }


      }




    通過上面對對象應(yīng)用的理解,就知道原因了.

    posted on 2008-04-28 15:10 agun 閱讀(693) 評論(0)  編輯  收藏 所屬分類: java 基礎(chǔ)

    主站蜘蛛池模板: 免费观看的毛片大全| 亚洲日本国产综合高清| 亚洲福利秒拍一区二区| 男人的天堂网免费网站| 亚洲国产精品国自产拍AV| 色天使亚洲综合在线观看| 国产成人午夜精品免费视频| 亚洲精品偷拍视频免费观看| 白白色免费在线视频| 91麻豆精品国产自产在线观看亚洲 | 亚洲gay片在线gv网站| 国产麻豆剧传媒精品国产免费| 亚洲精品乱码久久久久久蜜桃不卡 | 国产亚洲一卡2卡3卡4卡新区| 国产免费爽爽视频在线观看| 久久久久久国产a免费观看黄色大片 | 污视频网站免费观看| 国产亚洲人成网站在线观看| 嫩草在线视频www免费看| 免费无码黄网站在线观看| 亚洲一区二区三区高清| 国产片AV片永久免费观看| 欧美亚洲国产SUV| 国内精品久久久久久久亚洲| 999任你躁在线精品免费不卡| 久久久无码精品亚洲日韩软件| 亚洲综合精品第一页| 亚洲av无码成人精品区| 国偷自产一区二区免费视频| 亚洲av乱码一区二区三区| 四虎永久在线精品免费观看地址| 亚洲 日韩 色 图网站| 丁香亚洲综合五月天婷婷| 外国成人网在线观看免费视频| 在线精品亚洲一区二区小说 | 真人做A免费观看| 美女尿口扒开图片免费| 亚洲AV福利天堂一区二区三 | 国产成人综合亚洲亚洲国产第一页| 亚洲成a∧人片在线观看无码| 男女做羞羞的事视频免费观看无遮挡|