接口和抽象类
定义
抽象类:有抽象方法的类就是抽象类
-
抽象类中可以有一般的变量和一般的方法
-
子类继承抽象类必须实现其中抽象方法,除非子类为抽象类
-
抽象方法必须存在于抽象类中
-
如果一个声明一个类为abstract,那么此类不能生存对象,只能被继承使用
-
抽象类表示共有许要实现的方法 接口用来特定类有需要才实现 人都会吃饭 但有的人抽烟
接口:是一个抽象类型,是抽象方法的集合
-
Java接口的方法只能是抽象的和公开的,Java接口可以有public、静态的和final属性
-
接口没有构造方法,不能被实例化
-
接口不能实现另一个接口,但可以继承多个接口
-
一个类如果实现了一个接口,那么必须实现接口里面的所有抽象方法,否则,这个类应该被定义为抽象类
应用场景
1.如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。
2.如果你想实现多重继承,那么你必须使用接口。
接口和抽象类的区别
1.接口里面定义的变量都是常量,抽象类无此限制
2.接口里面的方法只能是抽象方法,抽象类里面可以有普通方法。
3.接口不能有构造器,抽象类可以有构造器。
4.接口可以继承多个接口,抽象类只能继承一个类。
5.接口不能实现接口,抽象类可以实现接口。
6.抽象类的速度比接口快,因为它需要时间来查找在类中实现的方法。
网友评论