抽象类和接口
作者:互联网
抽象类
关键字 abstract修饰抽象类和抽象方法
final关键字
1.修饰类表示不允许被继承
2.修饰方法表示不允许被子类重写
3.修饰变量表示不允许被修改
Static 如果修饰的父类方法,那么这个方法是无法被子类重写的
抽象类:避免无意义父类的实例化
抽象类是不能被直接实例化的
子类继承抽象类的时候,必须要重写所有父类的抽象方法
接口:
接口中只能有抽象方法 接口中所有方法必须是抽象方法
接口中方法的默认修饰都是( public abstract)修饰的
接口中的成员变量默认修饰都是( public static final )修饰的
接口的继承,一个接口可以继承多个父类
为了声明一个接口,我们使用interface这个关键字,在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体,因为具体的方法体的实现是由继承该接口的类来去实现的,因此,接口并不用管具体的实现。接口中的属性默认为Public Static Final.一个类实现这个接口必须实现这个接口中定义的所有的抽象方法。
interface
一个简单的接口就像这样:拥有全局变量和抽象方法。
implements
为了实现这个接口,我们使用implements关键词去实现接口:
1.接口可否直接实例化对象?
答:接口不能直接实例化对象!
2.接口可否派生?
答:可以有子类接口 继承这个接口 普通类只是使用implements实现接口
3.接口可否继承? 可否继承多个父接口?
答:可以被接口继承 子接口可以继承多个父接口
4.接口可否包含构造方法? 可否包含方法体?可否包含字段?
答:接口没有构造方法! 接口里的方法一般是不能包含方法体的,但是接口里的方法如果是默认的方法,或者静态的方法及可以包含方法体。 可以包含字段,但这个字段必须是常量(用 public static final修饰的) java1.8
5.接口和抽象类的异同点
相同点:接口和抽象类都能被继承
不同点:方法都可以含方法体 和 不含方法体
接口可以继承多个父类接口,
抽象类只能继承一个父类
标签:继承,可否,接口,修饰,抽象类,方法 来源: https://blog.csdn.net/weixin_46585825/article/details/114633149