隨筆-60  評論-117  文章-0  trackbacks-0

          static
                  static成員不能通過對象實例來訪問,它必須通過類名來訪問。原因是它不作用于類的實例。實質(zhì)上,被聲明為static的變量是全局變量。當聲明類的對象時,不用拷貝static變量,而是類的所有實例共享一個static變量。static方法不用創(chuàng)建任何對象,只用類名就可以調(diào)用。static變量在類被裝載時初始化。如果沒有明確的初始化值,數(shù)值類型將被初始化為0,對象引用初始化為空,bool類型變量初始化為false。因此static變量總有一個值。
                  static方法不能引用this。static方法只能直接調(diào)用其它static方法,原因是實例方法作用于類中的特定實例,但static方法不是。static方法只能直接訪問static數(shù)據(jù),它不能使用實例變量,原因是它不作用于類的實例。
          this
                 this是保留的指針。指向當前對象。雖然有時候?qū)懰粚懰雌饋頉]什么不同。實際上它的好處就是在編譯期就可以獲得對象的地址。比如一個類中有個成員類。成員類需使用上層類的函數(shù),就可以把this傳到成員類中。
          super
          super是調(diào)用父類的構(gòu)造函數(shù) 。使用super調(diào)用有一些限制條件,不能在super調(diào)用中使用實例變量作為參數(shù). 而且在構(gòu)造函數(shù)中,調(diào)用必須寫在繼承類的構(gòu)造函數(shù)定義的第一行,不能在構(gòu)造函數(shù)的后面使用.
          this和super
                  一個構(gòu)造函數(shù)定義中不能同時包括this調(diào)用和super調(diào)用,如果想同時包括的話,可以在this中首先進行super調(diào)用.
          transient
                  Java語言的關(guān)鍵字,用來表示一個域不是該對象串行化的一部分。當一個對象被串行化的時候,transient型變量的值不包括在串行化的表示中,然而非transient型的變量是被包括進去的。
          final
                  一個Java語言的關(guān)鍵字。你只能定義一個實體一次,以后不能改變它或繼承它。更嚴格的講:一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變量不能改變其初始值。
          abstract 抽象的
                  一個Java語言中的關(guān)鍵字,用在類的聲明中來指明一個類是不能被實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現(xiàn),但是需要在子類中被實現(xiàn) 。
          經(jīng)專家指正,現(xiàn)修正如下:
          "static成員不能通過對象實例來訪問,它必須通過類名來訪問"
          static成員是可以通過對象實例來訪問的,但不建議這么做 。
          public class A {
          public static void print() {
          System.out.println("A");
          }
          }

          public class StaticTest {
          public static void main(String[] args) {
          A a = new A();
          a.print();
          }
          }
          posted on 2007-04-20 20:42 靜兒 閱讀(781) 評論(2)  編輯  收藏

          評論:
          # re: java中幾個關(guān)鍵字 2007-04-20 21:12 | 山風(fēng)小子
          匆匆看了下,
          "static成員不能通過對象實例來訪問,它必須通過類名來訪問"
          static成員是可以通過對象實例來訪問的,但不建議這么做 :)
          public class A {
          public static void print() {
          System.out.println("A");
          }
          }

          public class StaticTest {
          public static void main(String[] args) {
          A a = new A();
          a.print();
          }
          }

          加油噢~  回復(fù)  更多評論
            
          # re: java中幾個關(guān)鍵字 2008-05-10 13:14 | 王志
          這個專家指證還是有問題,不是 上面說的那樣 ,而且例子也沒有很好的解釋,所以版主還是 自己 找些能夠說明問題的 例子。  回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 聊城市| 丹寨县| 茌平县| 始兴县| 罗甸县| 秦皇岛市| 离岛区| 永靖县| 余干县| 汝阳县| 平果县| 和田县| 孝感市| 堆龙德庆县| 金华市| 石狮市| 新田县| 凤庆县| 陕西省| 孟州市| 嘉鱼县| 石门县| 宁陕县| 南投市| 阿勒泰市| 宁南县| 旬邑县| 赤壁市| 崇文区| 凤庆县| 临江市| 丹寨县| 从化市| 临夏市| 分宜县| 中卫市| 慈溪市| 宁化县| 彭泽县| 新干县| 菏泽市|