内部类
一个类定义在另一个类的里面。
内部类提供了更好的封装,可以把内部隐藏在外部之内,不允许同一个包中的其他类访问该类。内部类的方法可以直接访问外部类的所有数据,包括私有的数据。内部类所实现的功能使用外部类同样可以实现,只是有时候使用内部类更加方便。
1.成员内部类
public clsaa Person{
//成员内部类,可以使用类的各种修饰符
public final class work{
}
protected class Work2{
}
class work3{
}
private abstract class work4{
}
}
2.静态内部类
public class Person{
//静态内部类
public final static class work{
}
private abstract static class work2{
}
}
3.局部内部类
public static long test{
abstract class target{
public abstract void code();
}
}
定义在方法中的内部类。
4.匿名内部类(简化内部类的书写)
Target target = new Target(){
public void code(){
//执行代码
}
}