day 11(内部类)

尽量一个文件里定义一个类
需要在内部定义一个类,这种类就成为内部类
希望封装相应的功能,这些功能可能不太希望暴露给外部
内部类定义——public外部也可以调用
private外部无法直接调用
protected同一个包可以调用
内部类是外部类的一个成员
内部类可以直接访问外部类的数据,外部类无法调用内部类的数据
内部类可以使用public private protected final 来修饰,外部类只能使用public来修饰
内部类分为
1.普通内部类——属于对象,必须使用对象来调用
2.静态内部类——属于类,必须使用类来调用,静态内部类只能调用静态数据,
如何创建内部类——
1—— Car bz = new Car();

    Car.Engine engine = bz.new Engine();

2——Car.Engine engine = new Car.Engine();
匿名对象
没有创建一个对象来接收数据(只能使用一次,无法修改数据)—-> 类名(new 类名(“数据”))
普通对象
创建了一个对象来接受数据(可以对数据进行修改,也可以多次使用)匿名
匿名类
即不显示这个类 ,不能被申明构造方法
使用匿名内部类必须满足,这个类要么继承某个父类,要么实现某个接口

你可能感兴趣的:(day 11(内部类))