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

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

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

    Jason ---分享,共同進(jìn)步

    激情成就夢想,努力創(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ù),對剛生成的對象進(jìn)行初始化。構(gòu)造函數(shù)是肯定有的。如果你沒寫,Java會給你補上一個默認(rèn)的構(gòu)造函數(shù)。
    3)左邊的“object a”創(chuàng)建了一個object類引用變量。所謂object類引用,就是以后可以用來指向object對象的對象引用。
    4)“=”操作符使對象引用指向剛創(chuàng)建的那個object對象。我們可以把這條語句拆成兩部分:
    object a;
    a= new object();
    效果是一樣的。這樣寫,就比較清楚了,有兩個實體:一是對象引用變量,一是對象本身。      
    在堆空間里創(chuàng)建的實體,與在數(shù)據(jù)段以及??臻g里創(chuàng)建的實體不同。盡管它們也是確確實實存在的實體,但是,我們看不見,也摸不著。
    不僅如此,我們仔細(xì)研究一下第二句,找找剛創(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 閱讀(694) 評論(0)  編輯  收藏 所屬分類: java 基礎(chǔ)

    主站蜘蛛池模板: 三级黄色免费观看| 好先生在线观看免费播放| 久青草国产免费观看| 毛片A级毛片免费播放| 亚洲一区二区三区无码国产| 100000免费啪啪18免进| 亚洲国产日韩在线观频| 在线观看国产一区亚洲bd| 美女在线视频观看影院免费天天看 | 亚洲AV无码专区在线电影成人 | 日韩特黄特色大片免费视频| 亚洲国产系列一区二区三区| 和老外3p爽粗大免费视频| 性做久久久久久久免费看| 99久久婷婷国产综合亚洲| 免费毛片在线视频| 亚洲视频在线免费| 亚洲国产精品成人精品无码区| 久久久久国产免费| 美女视频黄免费亚洲| 国产免费观看视频| 国产高潮久久免费观看| 久久久亚洲欧洲日产国码aⅴ| 99爱在线精品免费观看| 亚洲AV成人一区二区三区观看| 亚洲色欲久久久久综合网| 日本免费A级毛一片| 国产亚洲精品精品国产亚洲综合| 中文字幕永久免费| 亚洲国产电影在线观看| 四虎永久免费影院| 久操视频免费观看| 亚洲综合精品第一页| 永久亚洲成a人片777777| 中文字幕免费在线看线人| mm1313亚洲国产精品无码试看 | 浮力影院亚洲国产第一页| 4虎1515hh永久免费| 猫咪www免费人成网站| 亚洲国产精久久久久久久| 免费黄色毛片视频|