2022-07-26 田龙月 学习笔记
abstract抽象类
多者就是都有一个通性的方法或者类,抽象成一个东西(没有内部实现),然后让继承他的子类自己去实现---具体怎么用看需求
有抽象方法必需是抽象类;抽象类可以没有抽象方法;(抽象方法没有方法体 public abstract 返回值 方法名()--没有{}方法体)
父类有抽象方法子类必须去全部重写override,否则子类也是一个抽象类
接口
JDK 1.8新特性:接口中默认public权限 abstract修饰方法(权限著能使用public或者protect)
interface接口中可以定义default修饰的方法(都有的方法可以使用默认方法),继承该接口的子接口可以重写default方法,也可以不重写,重写的话继承该接口的子类调该方法就是子类中的default方法否则就是调用父接口中的default方法(就近原则)
(接口中只有抽象方法,默认方法default,静态方法,静态常量,抽象类中可以有成员方法,属性,抽象方法,构造器,常量--------接口用来“抽象”功能,抽象类用来“抽象”类)
接口和类多可以使用向上转型
多用向上转型,会用向上转型可以节约很多代码,一般用于参数(功能,对象):例如这一次我想要喝茶,下一次我想要可乐了,这时我们的方法要是只能喝茶就比较死板,我们把方法改成喝饮品就行了,可乐和茶都是饮品,你这次想喝茶就传一个茶,想喝可乐就传一个可乐,我这里(方法)都能接受(运行)。