为什么要使用内部类??以及内部类大汇总!!面试必备!!

2022-05-06 19:54:45 浏览数 (1)

我们为什么要使用内部类呢???

第一:内部类可以访问外围类的 私有数据,何其方便。。

第二当然是内部类对其他类隐藏不可见

第三 回调时  使用内部类可以省略大量的代码

那么内部类又有几种呢???

根据不同 的依据分类不同,用代码说话:

One : 一般的内部类

代码语言:javascript复制
class A {
     ......
      class B{//创建一般内部类
            .....
      }
}

Two:局部类不能使用public和private访问说明符进行声明匿名的局部内部类 : 只创建一个实现接口B的一个对象,

与普通的局部内部类相比可以节省录入代码时间

代码语言:javascript复制
class A {
       ......
       private void getName(){
             ......
             B b = new B(){//创建匿名内部类
                   ......
              }
       }
}

Three:局部内部类 : 该局部类只在getName方法时使用,除了getName方法外,没有任何方法知道局部内部类B的存在

代码语言:javascript复制
class A {
      .......
      private void getName(){
             .......
             class B {//在方法内部创建局部内部类
                   ......
             }
      }
}

Four:如果内部类不需要去 引用外围类,则可以将内部类定义为静态的称之为静态内部类,(非局部类可以使用public,private访问说明符)

代码语言:javascript复制
class A {

      ......

     public static class B {

           ......

     }

}

来个小小的测试,局部类中

代码语言:javascript复制
代码段1:
 Person  person = new Person();//一个person对象
代码段2:
 Person person = new Person(){  //一个继承于person的内部类的对象,相当于是创建了Person子类对象
  .........
}

0 人点赞