我们为什么要使用内部类呢???
第一:内部类可以访问外围类的 私有数据,何其方便。。
第二当然是内部类对其他类隐藏不可见
第三 回调时 使用内部类可以省略大量的代码
那么内部类又有几种呢???
根据不同 的依据分类不同,用代码说话:
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子类对象
.........
}