欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java內(nèi)部類的那些事兒_讓你一看就弄明白

 更新時間:2013年05月02日 15:31:40   作者:  
本篇文章介紹了,java內(nèi)部類的那些事兒。需要的朋友參考下

在“基于java內(nèi)部類作用的深入分析”中你可以了解java內(nèi)部類的一些東西,不過內(nèi)部類中還有一些地方值得我們細(xì)心研究...

下面是我總結(jié)出來的java內(nèi)部類的一些東西,分享給大伙兒....
one:靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員
怎樣理解這個呢?
看看下面的代碼:

復(fù)制代碼 代碼如下:

/**
  *
  */
 package com.b510.test;

 public class Test {
     private int number = 1;

     // 非靜態(tài)內(nèi)部類 可以有 非靜態(tài)成員
     private class InnerTest {
         // error  非靜態(tài)內(nèi)部類不能有靜態(tài)成員
         // private static int inNumber = 2;
         private int inNumber = 2;

         public InnerTest() {
             setNumber(2);
             inNumber = inNumber + number;
             System.out.println("innerTest---" + inNumber);
         }
     }

     // Test的私有方法
     private void setNumber(int number) {
         this.number = number;
     }

     // 構(gòu)造函數(shù)
     public Test() {
         InnerTest in = new InnerTest();
         System.out.println("test");
     }

     public static void main(String[] args) {
         Test test = new Test();
         // innerTest---4
         // test
     }
 }

第一概念是不是很好理解.....
two:靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪問外部類的非靜態(tài)變量
這里涉及到靜態(tài)內(nèi)部類和外部類的關(guān)系:
復(fù)制代碼 代碼如下:

/**
  *
  */
 package com.b510.test;

 public class Test {
     private static int number = 1;
     private String name = "test";

     // 靜態(tài) 內(nèi)部類
     private static class InnerTest {
         // 靜態(tài) 內(nèi)部類 可以有非靜態(tài)成員
         private int inNumber = 2;

         public InnerTest() {
             //靜態(tài)內(nèi)部類 可以訪問 外部類 的靜態(tài)成員
             setNumber(2);
             inNumber = inNumber + number;
             System.out.println("innerTest---" + inNumber);
             //error 靜態(tài)內(nèi)部類 不可以訪問 外部類  的非靜態(tài)成員
             //System.out.println(name);
         }
     }

     // Test的 靜態(tài) 私有方法
     private static void setNumber(int n) {
         number = n;
     }

     // 構(gòu)造函數(shù)
     public Test() {
         InnerTest in = new InnerTest();
         System.out.println("test");
     }

     public static void main(String[] args) {
         Test test = new Test();
         // innerTest---4
         // test
     }
 }

這個其實很好理解的,不知道你看來代碼15~23有沒理解....
three:非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量
這個在第一個中就已經(jīng)提到了:在one代碼的17行
復(fù)制代碼 代碼如下:

1 inNumber = inNumber + number;

number是外部類的非靜態(tài)成員,inNumber作為非靜態(tài)內(nèi)部類的成員可以訪問number

是不是很好理解....

總結(jié)一下:

相關(guān)文章

  • 如何編寫javascript的gulp插件

    如何編寫javascript的gulp插件

    本文主要介紹了使用PMD進(jìn)行代碼審查的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 冒泡排序算法原理及JAVA實現(xiàn)代碼

    冒泡排序算法原理及JAVA實現(xiàn)代碼

    關(guān)鍵字較小的記錄好比氣泡逐趟上浮,關(guān)鍵字較大的記錄好比石塊下沉,每趟有一塊最大的石塊沉底
    2014-01-01
  • java+mysql實現(xiàn)登錄和注冊功能

    java+mysql實現(xiàn)登錄和注冊功能

    這篇文章主要為大家詳細(xì)介紹了java+mysql實現(xiàn)登錄和注冊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java枚舉類型在switch語句正確使用方法詳解

    Java枚舉類型在switch語句正確使用方法詳解

    這篇文章主要介紹了Java枚舉類型在switch語句正確使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • java中的export方法實現(xiàn)導(dǎo)出excel文件

    java中的export方法實現(xiàn)導(dǎo)出excel文件

    這篇文章主要介紹了java中的export方法實現(xiàn)導(dǎo)出excel文件,文章圍繞java導(dǎo)出excel文件的相關(guān)資料展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • 總結(jié)十個實用但偏執(zhí)的Java編程技術(shù)

    總結(jié)十個實用但偏執(zhí)的Java編程技術(shù)

    Java是世界上最流行的程序語言,從1995年問世以來,Java的生態(tài)系統(tǒng)在一直在蓬勃的發(fā)展著。下面這篇文章主要總結(jié)了十個實用但偏執(zhí)的Java編程技術(shù),需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • SpringBoot 如何自定義項目啟動信息打印

    SpringBoot 如何自定義項目啟動信息打印

    這篇文章主要介紹了SpringBoot 如何自定義項目啟動信息打印方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java數(shù)組的初始化及操作詳解

    java數(shù)組的初始化及操作詳解

    在本文中小編給大家整理了關(guān)于java數(shù)組的初始化及操作的相關(guān)知識點內(nèi)容,需要的讀者們參考下。
    2019-07-07
  • Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄

    Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄

    很多新手不知道Eclipse怎么創(chuàng)建Java Web項目,一起來看看吧,這篇文章主要給大家介紹了關(guān)于Eclipse創(chuàng)建JavaWeb工程的完整步驟,需要的朋友可以參考下
    2023-10-10
  • Java?超詳細(xì)講解SpringMVC攔截器

    Java?超詳細(xì)講解SpringMVC攔截器

    Spring?MVC?的攔截器(Interceptor)與?Java?Servlet?的過濾器(Filter)類似,它主要用于攔截用戶的請求并做相應(yīng)的處理,通常應(yīng)用在權(quán)限驗證、記錄請求信息的日志、判斷用戶是否登錄等功能上。本文將代碼演示和文字描述詳解攔截器的使用
    2022-04-04

最新評論