包,权限修饰符内部类
* 包的特点:
* 可以有多层
* 不同包下的文件名可以重复
* 包的声明必须是第一行代码
* 权限修饰符:
public 当前类,相同包下不同的类,不同包下的类
default 当前类,相同包下不同的类
private 当前类
protected 当前类,相同包下不同的类
default:当前包下使用
protected:让子类对象使用
内部类:
- 成员内部类:和成员方法,成员变量一样,在类外方法内
在类的成员位置,和成员变量以及成员方法所在的位置是一样的,在内部类当中,可以直接访问外部类的成员,包括私有成员
- 局部内部类:同局部变量
- 匿名内部类:没有名字的内部类,可以看成一个没有定义名字的局部内部类,定义方法中,必须定义米明内部类的时候创建他的对象。
匿名内部类:
* 可以把匿名内部类看成是一个没有名字的局部内部类
* 定义在方法当中
* 必须在定义匿名内部类的时候创建他的对象
* 格式:
* new 类/接口(){
* 如果是创建了继承这个类的子类对象,我们可以重写父类的方法
* 如果是创建了实现这个接口的子类对象,我们必须要实现该接口的所有方法
* };
* 原理:而是创建了继承这个类的子类对象或者是创建了实现这个接口的子类对象
匿名内部类应用场景:只当做参数传递一次。