final的作用
final关键字是最终的意思,可以修饰(类,方法,变量)
修饰类:表明该类是最终类,不能被继承
修饰方法:表明该方法是最终方法,不能被重写。
修饰变量:表示该变量第一次赋值后,不能再次被赋值(有且仅能被赋值一次)
final修饰变量的注意
final修饰的变量是基本类型:那么变量存储的数据值不能发生改变
final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的(例如类)。
接口:
声明一个接口:体现一种规范,规范一定是公开的。
接口中的成分特点:JDK 8之前接口中只能有抽象方法和常量。
由于接口体现规范思想,规范默认都是公开的,所以代码层面,public static final 和 public abstract 可以省略不写。
接口是用来被类实现的(类似于抽象类必须被子类继承),实现接口的类称为实现类。实现类可以理解成所谓的子类。
接口可以被类单实现,也可以被类多实现。
一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类
public class PingPongMan implements sportMan, Law {}
类和类的关系:单继承。
类和接口的关系:多实现。
接口和接口的关系:多继承,一个接口可以同时继承多个接口。
接口多继承的作用:
规范合并,整合多个接口为同一个接口,便于子类实现。
默认方法(实例方法):default修饰,实现类对象调用。
静态方法:static修饰,必须用当前接口名调用。
私有方法:private修饰,jdk9开始才有的,只能在接口内部被调用。