Java入门对抽象类及接口的理解
抽象类注意事项
-
抽象类不能创建对象,我们只能创建其非抽象子类的对象
-
抽象类可以有构造方法,是提供其子类创建对象时,初始化父类成员使用的
-
抽象类不一定包含抽象方法,但包含抽象方法的一定是抽象类
-
抽象类的子类必须重写其抽象父类的全部抽象方法,除非该子类也是一个抽象类
接口注意事项
-
接口是引用数据类型,是一个类的公共规范,和定义一个类基本一致,关键字class换interface
-
接口可以定义抽象方法,但修饰符必须是public abstract,并且可以省略
-
接口不能直接使用,需要实现类来实现接口,通过类似于“extends”的“implements”,必须重写接口中所有的抽象方法
-
若实现类没有重写接口所有的抽象方法,那么这个实现类自己必须是抽象类
-
Java8中,接口允许定义默认方法(可以不abstract,可以写方法体),并且default关键字不可省略。实现类也可以对接口默认方法重写
-
接口的默认方法可以解决接口升级问题,并且在lamba表达式和函数式编程时,接口的默认方法可以拼接函数模型
-
Java8开始,接口允许定义静态方法,在实现类中直接用接口名.静态方法调用
-
Java9开始,接口中允许定义私有方法
-
接口中也可以定义“成员变量”,但必须使用public static final关键字修饰,从效果来看,这也就是接口的“常量”
本文地址:https://blog.csdn.net/weixin_42748528/article/details/107686751