隨筆-144  評(píng)論-80  文章-1  trackbacks-0

          package com.faintbear;

          public class Outer4
          {
            private int size = 5;
            public Object makeTheInner( final int localVar )
                         {
                             final int finalLocalVar = 6;
                             class Inner
                                 {
                                    public String toString()
                                        {
                                      return ( "localVar=" + localVar + ">" );
                                        }//end public String toString()
                                  }//end class Inner
                            return new Inner();
                         }//end public Object makeTheInner( int localVar )
                        
          public static void main( String args[] )
          {
           Outer4 outer = new Outer4();
           Object obj = outer.makeTheInner( 47 );
           System.out.println( "The object is " + obj );
          }
          }

          Inner的toString會(huì)被調(diào)用,這是肯定的.
          你的 final int finalLocalVar = 6; 可以加個(gè)static,這樣可以節(jié)省一定的內(nèi)存和CPU開銷. 不過好像沒有用到么,那就刪除吧.

          同意樓上的
          Object obj = outer.makeTheInner( 47 );
          System.out.println( "The object is " + obj );
          這時(shí)其實(shí)是System.out.println( "The object is " + obj.toString());

          Object obj = outer.makeTheInner( 47 );
          等同與
          Object obj =new Inner();/////////示意一下
          toString方法已經(jīng)在Inner類中被重寫了
          所以輸出應(yīng)該是The object is localvar=47>

          posted on 2005-03-10 12:00 小力力力 閱讀(268) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 措美县| 许昌市| 阳新县| 隆昌县| 朝阳县| 南充市| 河间市| 大埔县| 乡宁县| 濮阳市| 宁乡县| 巩留县| 韶山市| 丽水市| 杭州市| 安徽省| 永年县| 太白县| 玉林市| 社旗县| 泉州市| 文登市| 肇源县| 德清县| 靖州| 彭山县| 开原市| 隆回县| 锡林郭勒盟| 江门市| 布尔津县| 拉萨市| 福州市| 晴隆县| 安西县| 利津县| 栾川县| 夏河县| 满城县| 宁晋县| 称多县|