abstract
当子类中有一些共有的但是细节不同的行为的时候,可以对这些行为进行抽取,将这些行为抽取到父类中以抽象方法的形式展现。---抽象方法所在的类一定是抽象类
抽象类不能实例化(创建对象),但是有构造方法
抽象类中可以有抽象方法也可以没有抽象方法
抽象方法可以重载
抽象方法不可以用static/final修饰
抽象方法不可以用private修饰
抽象方法可以用默认权限修饰吗?---可以---父子类必须同包
当子类继承了抽象类之后要求必须实现对应的抽象方法
接口
用interface定义接口,用implements关键字让类和接口之间产生联系,这种联系称之为实现。
接口不能用于实例化,也没有构造函数---接口不是类
单继承,多实现---一个类只能有一个父类,但是可以实现多个接口---多实现必不可免的会导致方法的混乱
interface A{
void m();
}
public class B implements A{
void m(){ // 接口中的方法默认是public修饰---重写 一大 原则
System.out.println(“B m()”);
}
}
接口中的方法默认是抽象方法,默认用public(只能用)修饰,接口中的数据默认是静态常量---默认用public static final修饰
接口可以继承接口---接口之间是多继承
抽象类在实现接口之后一定要实现这个接口中的所有的抽象方法吗?---不一定
接口可以在一定程度上统一结构实现方法的统一调用,但是可能会导致代码的冗余
接口中不能定义构造函数,虽然接口编译完成后也会产生一个class文件,但接口本质上不是类
---------------------
作者:下课铃声
来源:CSDN
原文:https://blog.csdn.net/weixin_42129856/article/details/81100548
版权声明:本文为博主原创文章,转载请附上博文链接!