内部类
内部类
内部类有四种:成员内部类,局部内部类,静态内部类,匿名内部类
允许在一个类的内部定义类,这样的类称作内部类。
格式:
Class 外部类{
Class 内部类{
}
}
特点:
内部类可以直接访问外部类的成员,包括私有成员。
外部类要访问内部类的成员必须要建立内部类的对象
案例:
public class Hello {
class aa{
}
}
局部内部类:
定义在某个局部范围中的类,其有效范围只限于方法内部。
例子:
public class Hello {
public void aa(){
System.out.println("外部类");
}
public void aaa(){
class a{
public void inner(){
System.out.println("内部类");
}
}
}
}
只需要创建外部类对象,调用所属方法即可访问局部内部类!
静态内部类:
使用static关键字修饰的成员内部类
静态内部类中只能访问外部类的静态成员,同时通过外部类访问静态内部类成员时,可以跳过外部类从而直接通过内部类访问静态内部类成员。
格式:外部类名.内部类名 对象名 = new 外部类名.内部类名();
案例:
匿名内部类:匿名内部类其实就是没有名称的内部类。
他起到一个接口的实现类作为方法参数传入,而是直接通过匿名内部类的形式传入一个接口类型参数,在匿名内部类中直接完成方法的实现的作用
格式:
案例: