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

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

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

    java世界
    有些人注定要生活在彼岸,可以親近可以愛憐,甚至可以窮盡一生去思念,只是無法觸及有些距離,注定不能跨越只能倆倆相望,就像有些愛只能養在心里長在眼中,不能捧在手里放在身邊,注定只能邂逅無法遭遇!
    posts - 12,comments - 15,trackbacks - 0
    1.關于參數的傳遞
    class ValHold{
    public int i = 10;
    }
    public class ObParm{
    public void amethod(){
    ValHold v = new ValHold();
    another(v);
    System.out.println(v.i);
    }
    public void another(ValHold v){
    v.i = 20;
    ValHold vh = new ValHold();
    v =vh;
    System.out.println(v.i);
    }
    public static void main(String[] argv){
    ObParm o = new ObParm();
    o.amethod();
    }
    }
    此題的答案是10,20,為什么不是10,10呢?
    這樣解釋吧,按照sun官方的說法:當一個引用變量作為參數傳遞給一個方法時, 在這個方法內可以改變變量的值,即改變引用指向的對象,(本題中將vh賦給v)但是方法的調用結束后,改變量恢復原來的值,即變量仍然指向原來的對象。 (即another(v)調用結束之后,v又回復到第一次ValHold v = new ValHold();時指向的地址空間。) 但是如果在方法內改變了引用指向的對象的數據(屬性),那么當方法的調用結束后,盡管引用仍然指向原來的對象,這個對象的某個屬性已經被改變了(v的i值在 執行v.i=20的時候就已經被改變了,所以調用another結束后,v.i已經變成了20) .
    2.關于內部類
    public class InOut{
    String s= new String("Between");
    public void amethod(final int iArgs) {
    int iam;
    class Bicycle{
    Bicycle() {
    System.out.println(s); //這兩句話可以,也就是說可以訪問s
    System.out.println(iArgs); //和final int 常量
    //System.out.println(iOther);
    }
    }
    new Bicycle();
    }
    public void another(){
    int iOther;
    }
    public static void main(String[] args) {
    InOut inout= new InOut();
    inout.amethod(22);
    }
    }
    Inner class能夠存取外部類的所有實例變量----無論這些實例變量有什么樣的存取控制符(比如private),就像類中的方法能夠存取方法所在類的所有變量一樣;如果inner class定義在方法中,則inner class能夠存取方法所在的類中的實例變量,也能存取該方法中的局部變量,但該局部變量必須是final的,也就是只能訪問方法中的常量.(上面所說的都是普通內部類,不是靜態內部類的情況).
    public class Testinner {
    int t=10;
    public void a() {
    final int u =90;
    class InMethod { //方法中內部類
    InMethod() { //內部類的構造方法
    System.out.println("u="+u); //封裝方法內的變量必須是final才能訪問到!
    System.out.println("t="+t); //外部類的變量可以任意訪問!
    }
    }
    new InMethod();//必須在方法a()中創建內部類對象之后,Testinner對象才能通過 a()訪問到InMethod類
    }
    public static void main (String[] args) {
    Testinner t= new Testinner();
    t.a();
    }
    }
    輸出:u=90 ,t=10
    方法中的內部類不可以是static的!如果一個內部類是靜態的(當然只能是類中的內部類啦),那么這個類就自動的成為頂級(top-level)類即普通的類。靜態內部類中的方法(無論是靜態的方法還是非靜態的方法)只能直接訪問外部類中的靜態成員,要訪問外部類中的非靜態成員,則必須創建外部類的對象。
    posted on 2005-11-17 09:33 安德爾斯 閱讀(207) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 毛片a级毛片免费观看品善网| 精品乱子伦一区二区三区高清免费播放 | 亚洲国产日韩女人aaaaaa毛片在线| 中国精品一级毛片免费播放| 毛茸茸bbw亚洲人| 一级特黄aaa大片免费看| 又粗又大又长又爽免费视频| 最新亚洲人成网站在线观看 | 野花高清在线观看免费3中文| 亚洲AV综合色区无码二区偷拍| xx视频在线永久免费观看| 亚洲美女中文字幕| 男女免费观看在线爽爽爽视频 | 久久亚洲AV成人无码电影| 91久久精品国产免费一区| 亚洲理论片中文字幕电影| 18禁免费无码无遮挡不卡网站 | 色窝窝亚洲av网| 亚洲日韩国产成网在线观看| 国产一级在线免费观看| 亚洲精品综合一二三区在线| 97在线观免费视频观看| 精品视频免费在线| 亚洲人成人一区二区三区| 久久精品免费观看国产| 亚洲日韩精品无码专区加勒比| 国产yw855.c免费视频| 两性色午夜免费视频| 亚洲AV日韩AV鸥美在线观看| 免费看黄视频网站| 黄色免费网站在线看| 亚洲成AV人片天堂网无码| 久久受www免费人成_看片中文| 亚洲熟妇av午夜无码不卡| jlzzjlzz亚洲乱熟在线播放| 中文字幕成人免费视频| 香蕉视频亚洲一级| 精品亚洲成a人片在线观看| 日日夜夜精品免费视频| 亚欧免费一级毛片| 亚洲第一se情网站|