定义:
内部类就是定义在一个类里面的类,与之对应,包含内部类的类被称为外部类.
内部类作用
提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
内部类的方法可以直接访问外部类的所有数据,包括私有的数据.
内部类所实现的功能使用外部类同样可以实现,只是有时候使用内部类更加方便
外部类不能直接访问内部类的成员方法和成员变量
内部类可以分为以下几种:
1.成员内部类
2.静态内部类(在成员内部类加static)
3.方法内部类(在方法中写一个内部类)
4.匿名内部类
创建内部类的方法
public class outer{
private int n =99; //外部类的私有属性
private int m =99; //外部类的私有属性
//内部类Inner,类Inner在类Outer的内部
public class Inner{
int m =88; //内部类的成员属性
//内部类的方法
public void showA(){
//内部类的方法
System.out.println("访问外部类中的n!"+n);
System.out.println("访问外部类中的m!"+Outer.this.m);
}
public void ShowB(){
showA();//error!!!!!外部类不能直接用内部类中的成员方法和成员变量
}
}
public static void main (String[] argc){
//1.创建外部类对象
Outer outer = new Outer();
//2.创建内部类对象
Inner inner = Outer.new Inner();
//3.调用内部类对象的方法
inner.show();
System.out.print("hello");
}
}