關於內部類的分類和使用
內部類主要分為成員內部類(非靜態內部類,靜態內部類),匿名內部類,區域性內部類
(a)非靜態內部類:
1:非靜態內部類必須寄存在乙個外部類物件裡
2:非靜態內部類可以直接訪問外部類的成員,但是外部類不能直接訪問非靜態內部類成員(可以間接訪問)(**展示)
3:非靜態內部類不能有靜態方法,靜態屬性和靜態初始化塊
4:外部類的靜態方法,靜態**塊不能訪問非靜態內部類,包括不能使用非靜態內部類定義變數,建立例項
成員變數訪問的要點:
1,內部類裡方法的區域性變數:變數名
2,內部類屬性:this.變數名
3,外部類屬性:外部類名.this.變數名
package cn.com.qq;
public class tsetinnerclass
}class outer
class inner
}}
(b)靜態內部類:
1,當乙個靜態內部類物件存在時,並不一定存在對應的外部類物件。所以,靜態內部類的例項方法不能直接訪問外部類的例項方法
2,靜態內部類可以看作是乙個外部類的乙個靜態成員方法。所以,外部類的方法中可以通過:靜態內部類.名字的方式來訪問靜態內部類的成員變數,通過new靜態內部類()訪問靜態內部類的例項
package cn.com.qq;
public class teststaticinnerclass
}class outer2
//相當於外部類的乙個靜態成員
static class inner2
}}
(c)匿名內部類:
適合只需要使用一次的類
1,匿名內部類沒有訪問修飾符
2,匿名內部類沒有構造方法
package cn.com.qq;
public class testanonymousinnerclass
public static void main(string args)
});}
}inte***ce aa
(c)區域性內部類:
定義在方法內部的類,作用域只限於本方法
package cn.com.qq;
public class testapartinnerclass
}new inner().fun();
}public static void main(string args)
}
內部類的分類以及使用
內部類的分類 內部類的定義 定義在乙個類的內部的類就是內部類。就像是定義類一樣,類內部的變數有區域性變數和成員變數,在類中方法外的變數為成員變數,在方法重點的變數是區域性變數。所以內部類也分為 成員內部類 和 區域性內部類。內部類的特別之處 可以用static 修飾類。內部類可以隨意訪問外部類的成員...
內部類的分類
靜態內部類,非靜態內部類 非靜態內部類 public class inclass class outer class inner 要點 1.非靜態的內部類必須寄存在乙個外部類的物件裡,因此,如果有乙個非靜態內部類物件那麼一定存在乙個對應的外部類物件,非靜態內部類物件單獨屬於外部類的某個物件 2.非靜...
內部類的分類
成員內部類 區域性內部類 靜態內部類 匿名內部類 內部類可以直接訪問外部類的變數,方法,包括私有。外部類要訪問內部類的變數或者方法需要建立內部類的物件。成員內部類 內部類的位置處在外部類的成員變數的位置。class outter 內部類的例項化 外部類名.內部類名 物件名 new 外部類名.new ...