国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中關(guān)于內(nèi)部類的使用詳解

2019-11-26 16:10:03
字體:
供稿:網(wǎng)友

內(nèi)部類訪問規(guī)則

•內(nèi)部類可以直接訪問外部類中的成員,包括私有。訪問格式:外部類名.this
•外部類要訪問內(nèi)部類必須創(chuàng)建內(nèi)部類對象。
•內(nèi)部類在成員位置上,可以被成員修飾符修飾。

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

public class InnerClassDemo1 {
     public static void main(String[] args){
         Outer ou =new Outer();
         ou.method();// 4  3
         Outer.Inner oi =new Outer().new Inner();
         oi.function2();

     }

 }
 class Outer{
     private int x=3;
     class Inner{
         int x=4;
         void function1(){
             System.out.println(x);
             System.out.println(Outer.this.x);
         }
         void function2(){
             Outer.this.method();
         }
     }
     public void method(){
         Inner in =new Inner();
         in.function1();
     }
 }

靜態(tài)內(nèi)部類

•內(nèi)部類定義了靜態(tài)成員,內(nèi)部類必須是靜態(tài)的。

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

/*
 注意:內(nèi)部類定義了靜態(tài)成員,內(nèi)部類必須是靜態(tài)的。

 */
 class InnerClassDemo2
 {
     public static void main(String[] args)
     {
         new Outer.Inner().function();//創(chuàng)建靜態(tài)內(nèi)部類對象
     }
 }
 class Outer
 {
     private static int x=5;
     static class Inner//靜態(tài)內(nèi)部類 只能訪問外部類的靜態(tài)成員
     {
         void function()
         {
             System.out.println("inner:"+x);
         }
     }
 }

局部內(nèi)部類

•內(nèi)部類定義在局部時,可以直接訪問外部類中的成員。
•訪問局部變量必須被final修飾。

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

/*
 內(nèi)部類定義在局部時:可以直接訪問外部類中的成員,因為還持有外類中的引用。
 但是不可以訪問它所在的局部中的變量,只能訪問被final修飾的局部變量

 */

 class  InnerClassDemo3
 {
     public static void main(String[] args)
     {
         Outer out =new Outer();
         out.method(7);
     }
 }
 class Outer
 {
     int x=3;
     public void method(final int a)
     {
         class Inner
         {
             void function()
             {
                 System.out.println(a);
             }
         }
         new Inner().function();
     }
 }

匿名內(nèi)部類

•匿名內(nèi)部類是內(nèi)部類的簡寫格式。
•匿名內(nèi)部類的前提:內(nèi)部類必須繼承一個類或者實現(xiàn)接口。
•匿名內(nèi)部類不能創(chuàng)建構(gòu)造函數(shù)。

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

/*
 匿名內(nèi)部類
 1.匿名內(nèi)部類其實就是內(nèi)部類的簡寫格式
 2.定義匿名內(nèi)部列的前提。
   內(nèi)部類必須是繼承一個類或者實現(xiàn)接口
 3.匿名內(nèi)部類的格式:new 父類或者接口(){定義子類內(nèi)容}
 */
 class InnerClassDemo4
 {
     public static void main(String[] args)
     {
         Demo d=new Demo()
         {
             void show()
             {
                 System.out.println("匿名內(nèi)部類show方法");
             }
             void method()
             {
                 System.out.println("匿名內(nèi)部類method方法");
             }
         }.show();
         d.method();
     }
 }
 abstract class Demo
 {
     abstract void show();
 }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陕西省| 北安市| 山西省| 龙游县| 韩城市| 元谋县| 聂拉木县| 荣昌县| 涡阳县| 双柏县| 四子王旗| 新营市| 云安县| 无极县| 垣曲县| 焦作市| 九江县| 海宁市| 桐庐县| 陈巴尔虎旗| 娱乐| 黔南| 苍溪县| 双城市| 潼关县| 呼图壁县| 射阳县| 江油市| 梧州市| 泸溪县| 乌兰县| 屯留县| 安岳县| 唐河县| 武山县| 伊吾县| 香港| 濮阳县| 三江| 十堰市| 澄江县|