wangflood

          精心維護一個技術blog,為了工作,也是愛好。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            14 Posts :: 19 Stories :: 8 Comments :: 0 Trackbacks
          看一段代碼吧。
          package com.wang.test;

          /**
           * 
          @author Sam Wang
           * 
          @since Mar 22, 2011
           
          */
          // 實現了Cloneable接口,java不要求你實現任何方法 it's a marker
          public class TestObject implements Cloneable {

              
          public static void main(String[] args) throws Exception {
                  TestObject test 
          = new TestObject();
                  test.clone();
          // 實現了Cloneable接口的Test對象可以調用Cloneable
                  int[] arr = { 2141234234, };
                  arr.clone();
                  
          boolean is = arr.getClass() == arr.clone().getClass();
                  System.out.println(is);
          // true
                  Object o = new Object();
                  o.clone();
          // Object雖然提供clone方法,但是無法調用。因為是native修飾的。

                  
          // 對于String來說,
                  String str = new String("34534");
                  str.clone();
          // 不行,沒有實現Cloneable接口。
              }
          }
          // 可以想象Cloneable接口只是一個marker.所有的類都從Object繼承,而且protected,
          // 所以所有的類都有clone方法,但是無法沒有marker的話,就不能調用clone方法。
          // 無法了解到int[]的實現,但是int[]可以clone.
          // 但是String的類似于clone的功能的method還少嗎?
          這個混亂的狀態有點像size和length。居然還有變態的面試考List取長度是size(),還是length(),亦或是length,或是size?記得ruby語言就有這種混亂。比java還亂.各種方言版的ruby,混戰。
          玩dota時,大家常說:各種各樣的SB混戰。呵呵。

          posted on 2011-03-30 17:29 wangflood 閱讀(378) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 镇沅| 弥勒县| 霍林郭勒市| 大荔县| 梁山县| 孟津县| 景德镇市| 丹凤县| 霍城县| 乡城县| 清水县| 新和县| 博白县| 中西区| 合阳县| 密云县| 钟山县| 海丰县| 霍邱县| 比如县| 绵竹市| 乌拉特后旗| 普兰县| 胶南市| 祁连县| 伊川县| 南江县| 汽车| 云霄县| 定结县| 扎鲁特旗| 南雄市| 隆昌县| 迁安市| 嫩江县| 孝义市| 保康县| 南召县| 丹江口市| 陆川县| 新兴县|