真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++和Java中static關(guān)鍵字有什么區(qū)別

這篇文章將為大家詳細(xì)講解有關(guān)C++和Java中static關(guān)鍵字有什么區(qū)別,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

隨州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

C++和Java中static關(guān)鍵字的相同點

1、靜態(tài)數(shù)據(jù)成員:

在C++和Java中靜態(tài)數(shù)據(jù)成員都是類成員,并在所有對象之間共享。例如,在下面的Java程序中,靜態(tài)變量計數(shù)用于計算所創(chuàng)建的對象的數(shù)量。

class Test { 
    static int count = 0; 
  
    Test() {  
       count++;  
    }     
    public static void main(String arr[]) { 
       Test t1 = new Test(); 
       Test t2 = new Test(); 
       System.out.println("共創(chuàng)建了" + count + " 個對象");         
    } 
}

輸出:

共創(chuàng)建了2個對象

2、靜態(tài)成員方法

在C++和Java中聲明為static的方法是類成員,并具有以下限制:

1)、它們只能調(diào)用其他靜態(tài)方法。例如,以下程序中fun()是非靜態(tài)的,但它在靜態(tài)main()中調(diào)用,所以會編譯失敗。

class Main { 
    public static void main(String args[]) {    
        System.out.println(fun()); 
    }  
    int fun() { 
        return 20; 
    }  
}

2)、必須只訪問靜態(tài)數(shù)據(jù)。

3)、無法訪問this或super。例如,以下程序在編譯時失敗。

class Base { 
    static int x = 0;        
}    
  
class Derived extends Base  
{ 
   public static void fun() { 
       System.out.println(super.x); // 編譯器錯誤:不能從靜態(tài)上下文引用非靜態(tài)變量
   }    
}

說明:

C++和Java都可以在不創(chuàng)建對象的情況下訪問靜態(tài)數(shù)據(jù)成員和靜態(tài)方法??梢允褂妙惷L問它們。例如,在以下程序中,無需任何對象即可訪問靜態(tài)數(shù)據(jù)成員計數(shù)和靜態(tài)方法fun()。

class Test { 
    static int count = 0; 
    public static void fun() {  
       System.out.println("調(diào)用了靜態(tài)方法fun()");  
    }     
}    
       
class Main 
{ 
    public static void main(String arr[]) { 
       System.out.println("Test.count = " + Test.count);         
       Test.fun(); 
    } 
}

C++和Java中static關(guān)鍵字的不同點

1、靜態(tài)塊

與C ++不同,Java支持一個特殊的塊,稱為靜態(tài)塊(也稱為靜態(tài)子句),可用于類的靜態(tài)初始化;靜態(tài)塊內(nèi)的此代碼僅執(zhí)行一次。

2、靜態(tài)局部變量

與C ++不同,Java不支持靜態(tài)局部變量。例如,以下Java程序在編譯時失敗。

class Test { 
   public static void main(String args[]) {  
     System.out.println(fun()); 
   }  
   static int fun()  { 
     static int x= 10; //編譯器錯誤:不允許靜態(tài)局部變量
     return x--; 
   } 
}

關(guān)于C++和Java中static關(guān)鍵字有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


新聞標(biāo)題:C++和Java中static關(guān)鍵字有什么區(qū)別
分享地址:http://weahome.cn/article/ihhpep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部