1.java抽象类和接口的区别和具体应用场景?
接口(interface):接口就是给出一些没有实现的方法,封装到一起,起某个类要使用的时候,在根据具体情况把这些方法写出来(接口就是更加抽象的抽象类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体,接口体现了程序设计的多态和高内聚低耦合的思想)
- 接口不能被实例化(不能new对象)
- 抽象类实现接口,可以不用实现接口的方法
- 接口中的所有方法都是public方法,接口中抽象方法,可以不用abstract修饰
- 一个普通类实现接口,就必须将该接口的所有方法都实现
- 一个类同时可以实现多个接口
- 接口中的属性的访问形式:接口名.属性名
- 接口中的属性,只能是final的,而且是 public static final 修饰符。
- 接口中属性的访问形式:接口名.属性名
- 接口不能继承其他的类,但是可以继承多个别的接口
- 接口的修饰符只能是public和默认,这点和类的修饰符一样
抽象类(Abstract Class):一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,这个方法就是抽象方法,用abstract来修饰该类就是抽象类。
- 用abstract关键字来修饰一个类时,这个类就叫抽象类
- 用abstract关键字来修饰一个方法时,这个方法就是抽象方法,抽象方法没有方法体
- 抽象类的价值更多在于设计,是设计者设计好之后,让子类继承并事项抽象类()