内部类就是将一个类定义在另一个类的内部
例如:
public class Outer{
class inner
{
//省略不写;
}
}
内部类的主要特点:
1. 内部类可以很好的实现隐藏,可以使用protected,private等修饰符
2. 内部类可以直接访问外部类的所有成员,包括私有成员
3. 外部类不能直接访问内部类的成员,必须首先建立内部类的对象才可以访问
4. 内部类可以解决一些问题,比如间接地去实现多继承,可以避免修改接口而实现同一个类中两种同名方法的调用。
public class Outer {
static private int i = 10;
class Inner{
public void seeOuter(){
System.out.print(i); //内部类可以访问外部类的私有变量i
}
}
public static void main(String[] args) {
Outer out = new Outer(); //创建一个外部类;
Outer.Inner in = out.new Inner(); //创建一个内部类
//Outer.Inner in = new Outer().new Inner(); 这是上面两条语句合并起来的写法;
in.seeOuter();
}
}
“`