内部类
需要在类的内部定义一个类,这种类就成为内部类。
1.尽量在一个文件里面定义一个类
2.希望封装对应的功能,这些功能可能不太希望直接暴露给外部
内部类
1.内部类是外部类的一个成员,内部类可以直接访问外部类的数据,但外部类无法调用内部类的数据
2.内部类可以使用private public protected final来修饰,但外部类只能用public来修饰
普通内部类——属于对象,必须使用对象来调用
Car bz = new Car();
Car.Engine engine = bz.new Car();
静态内部类——属于类,必须使用类来调用,静态内部类无法调用非静态数据。
Car.Engine engine = new Car.Engine();如:
public class Car{
private int wheels;
public static class Engine{
public int a;
public Engine(){
wheels = 5;
}
}
}
此时内部类中的wheels调用就会出现错误。