包和final
String是不能被改变的?String类中,使用private+final修饰一个字节数组,因此不能被修改,也无法获取到地址。
权限修饰符和代码块
灵活的抽取构造方法中的重复代码
抽象类和抽象方法
接口
接口就是一种规则,是对行为的抽象。
成员特点
接口和类之间的关系
同时实现多个接口,如果有同名的方法,则只用重写一次
实现最底层的子接口需要重写父接口所有方法
接口和抽象类的综合案例
接口拓展
接口中定义有方法体的方法:为了防止改动接口程序直接报错
默认私有方法给默认方法服务,静态私有方法给静态方法服务。
接口应用
适配器设计模式
接口中有很多方法,我只想用其中一个方法,但实现接口需要重写所有方法。
如果,实现类要需要继承其他父类?让中间类继承,实现类再继承即可。
内部类
类的五大成员:属性、方法、构造方法、代码块、内部类
内部类就是在一个类里面再定义一个类。
比如:汽车的发动机,ArrayList的迭代器,人的心脏。
成员内部类
写在成员位置的,属于外部类的成员。
成员内部类可以被一些修饰符所修饰,比如:private,默认,protected,public,staticdeng
静态内部类
静态内部类只能访问外部类中静态变量和静态方法,如果想要访问外部类中非静态的需要创建对象。