内部类格式
/* public class 类名{ 修饰符 class 类名{ } } */
public class Outer{
public class Inner{
public void show(){
System.out.println("a");
}
}
public void method(){
Inner inner=new Inner();
inner.show();
}
}
内部类的特点:
1.内部类可以访问外部类包括私有
2.外部类要访问内部类的成员需要创建内部类对象
成员内部类:外界访问格式
外部类.内部类 对象名=外部类对象.内部类对象;
Outer.Inner oi=new Outer().new Inner();
局部内部类:局部内部类实在方法中定义的,外界无法直接使用,需要在方法中创建内部对象并使用,该类能直接访问外部类成员,也可以访问局部变量
public class Outer { int i=10; public void method(){ class Inner{ public void show(){ System.out.println(i); } } Inner inner=new Inner(); inner.show(); }
public class oiTest { public static void main(String[] args) { Outer outer=new Outer(); outer.method(); } }
匿名内部类
本质是继承该类或实现该接口的匿名子类对象
格式:new 类名或接口名(){
重写方法;
};