一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java中的Static class詳解及實例代碼

Java中的Static class詳解及實例代碼

2020-08-28 10:56Java教程網(wǎng) Java教程

這篇文章主要介紹了 Java中的Static class詳解及實例代碼的相關資料,在Java中我們可以有靜態(tài)實例變量、靜態(tài)方法、靜態(tài)塊。類也可以是靜態(tài)的,需要的朋友可以參考下

 Java中的Static class詳解

Java中的類可以是static嗎?答案是可以。在Java中我們可以有靜態(tài)實例變量、靜態(tài)方法、靜態(tài)塊。類也可以是靜態(tài)的。

     java允許我們在一個類里面定義靜態(tài)類。比如內(nèi)部類(nested class)。把nested class封閉起來的類叫外部類。在java中,我們不能用static修飾頂級類(top level class)。只有內(nèi)部類可以為static。

     靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類之間到底有什么不同呢?下面是兩者間主要的不同。

    (1)內(nèi)部靜態(tài)類不需要有指向外部類的引用。但非靜態(tài)內(nèi)部類需要持有對外部類的引用。

    (2)非靜態(tài)內(nèi)部類能夠訪問外部類的靜態(tài)和非靜態(tài)成員。靜態(tài)類不能訪問外部類的非靜態(tài)成員。他只能訪問外部類的靜態(tài)成員。

    (3)一個非靜態(tài)內(nèi)部類不能脫離外部類實體被創(chuàng)建,一個非靜態(tài)內(nèi)部類可以訪問外部類的數(shù)據(jù)和方法,因為他就在外部類里面。

基于上面的討論,我們可以通過這些特性讓編程更簡單、有效。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* 下面程序演示如何在java中創(chuàng)建靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類 */
class OuterClass{
  private static String msg = "GeeksForGeeks";
 
  // 靜態(tài)內(nèi)部類
  public static class NestedStaticClass{
 
    // 靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員
    public void printMessage() {
 
     // 試著將msg改成非靜態(tài)的,這將導致編譯錯誤
     System.out.println("Message from nested static class: " + msg);
    }
  }
 
  // 非靜態(tài)內(nèi)部類
  public class InnerClass{
 
    // 不管是靜態(tài)方法還是非靜態(tài)方法都可以在非靜態(tài)內(nèi)部類中訪問
    public void display(){
     System.out.println("Message from non-static nested class: "+ msg);
    }
  }
}
 
class Main
{
  // 怎么創(chuàng)建靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類的實例
  public static void main(String args[]){
 
    // 創(chuàng)建靜態(tài)內(nèi)部類的實例
    OuterClass.NestedStaticClass printer = new OuterClass.NestedStaticClass();
 
    // 創(chuàng)建靜態(tài)內(nèi)部類的非靜態(tài)方法
    printer.printMessage(); 
 
    // 為了創(chuàng)建非靜態(tài)內(nèi)部類,我們需要外部類的實例
    OuterClass outer = new OuterClass();   
    OuterClass.InnerClass inner = outer.new InnerClass();
 
    // 調(diào)用非靜態(tài)內(nèi)部類的非靜態(tài)方法
    inner.display();
 
    // 我們也可以結合以上步驟,一步創(chuàng)建的內(nèi)部類實例
    OuterClass.InnerClass innerObject = new OuterClass().new InnerClass();
 
    // 同樣我們現(xiàn)在可以調(diào)用內(nèi)部類方法
    innerObject.display();
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/qq_35101189/article/details/62222675

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色播开心网 | 先锋影音 av | 桃乃木香在线 | 青青草在线观看 | 免费真实播放国产乱子伦 | 色老板在线视频观看 | 91av最新地址 | 国产精品成人一区二区1 | 国产成人性色视频 | 日本在线观看免费观看完整版 | 强波多野结衣女教师 | 亚洲色影| 久久综合给合久久狠狠狠… | 五月天精品视频播放在线观看 | 美女沟厕撒尿全过程高清图片 | 91精品婷婷国产综合久久8 | www在线免费观看 | 久久精品手机观看 | 久久精品午夜一区二区福利 | 亚洲国产精品久久精品成人网站 | 极品美女写真菠萝蜜视频 | 日本一区三区 | 99精品国产美女福到在线不卡 | 亚洲欧美日韩一区成人 | 午夜精品亚洲 | 欧美日韩一区不卡 | 国产在视频线在精品 | 国产欧美精品一区二区三区–老狼 | 亚洲人成高清毛片 | 欧美黑人ⅹxxx片 | 欧美艳星kagneyiynn高清 | 视频免费看 | www.片| 国语刺激对白勾搭视频在线观看 | 精品一区二区三区视频日产 | 日韩在线 在线播放 | 亚洲一欧洲中文字幕在线 | 国产播放啪视频免费视频 | 女人麻豆国产香蕉久久精品 | 4虎影院永久地址www | 国产亚洲精品福利在线 |