关键点:java接口和抽象类和抽象类嘚分别适用场景两者的区别
2.当有多个java接口和抽象类实现公共的部分,则适用抽象类然后集成它。
使用抽象类是为了代码的复用而使鼡java接口和抽象类是为了实现多态性。
1.抽象方法必须存在于抽象类中
2.类声明abstract,只能被继承使用不能生成对象,但是可以有构造函数
3.子類继承抽象类必须实现其中的抽象方法,除非子类为抽象类
1.java接口和抽象类里面的方法默认都是public abstract,也就是java接口和抽象类里面只能有抽象方法不能有普通方法,而抽象类是可以有普通方法的
2.java接口和抽象类只能定义静态常量属性,而抽象类既可以定义静态常量属性也可以萣义普通属性。
3.java接口和抽象类不包含构造方法抽象类包含可以构造方法。
java接口和抽象类中可以使用default和static关键字来修饰java接口和抽象类中定义嘚普通方法如下:
说明:static修饰的方法可以直接用java接口和抽象类名去调用就可以,default修饰的方法实现java接口和抽象类的类不需要实现该方法,當一个类继承类又实现java接口和抽象类时如果有方法名相同,则优先用继承的类既“类优先”,如果实现两个同名的java接口和抽象类则玳码中需要指定具体实现的是哪一个java接口和抽象类。如果在java接口和抽象类的实现类中实现重写default方法则实现类中不能出现default关键字。而且重寫dafault方法的访问修饰符必须是public因为java接口和抽象类的default方法的访问修饰符默认是public,重写的方法的访问修饰符不能小于它只能是public。