什么是抽象?抽象类有什么作用?
抽象是编写抽象类的能,一个类中如果有一个抽象方法,那么这个类即为抽象类。抽象类是一个无法实例化的类,关键字abstranct用于将
一个类声明为抽象类。
抽象类作为类在使用的时候有什么需要注意?
如果一个类包含了抽象方法,那么该类也必须是抽象的。
任何子类必须重写抽象方法,除非子类本身也是抽象的。
什么是接口?
接口是可以让没有继承关系的类也可以共享行为的一种机制。
在应用接口的时候需要注意些什么?
接口里的属性只能是公共静态常量属性
接口里的方法只能是公共的抽象方法(JDK1.8以前)
接口的引用可以指向所有实现类对象,只能看到定义在接口中的行为和属性
接口可以继承接口,并且为多继承。
如何判断属性和行为写在父类还是接口?
与生俱来的属性写入父类,附属添加的写入接口
接口有什么特点?
接口里的方法都是abstract(通常都是隐式使用),不能实现。
使用implement关键字可以让一个类实现接口
实现接口的类必须实现接口里的所有方法
一个类可以实现多个接口
implement和extends都是is-a的关系
接口里可以声明属性,默认都是public static final 关键字
在使用接口的时候需要遵守哪些原则?
使用接口解决多继承
使用接口为外部类添加功能
以面向对象的角度考虑,将一个类与生俱来的特征和行为和依赖于外部的可选的特征和行为分离,让类尽可能的单纯,即解耦。
接口有什么优点?
将设计和实现分离,对外(调用者)隐藏了实现(而通常调用者不需要关系实现)
面向接口编程是面向对象编程的核心
接口与抽象类有什么区别?
从语法上来说:1.接口的关键字为interface 抽象类的关键字为 abstract class
2.接口里为公共静态常量属性和方法 抽象类为任意方法和属性
3.类实现接口需要使用关键字implement 类继承抽象类需要关键字extends
4.接口为多实现 抽象类为单继承
5.接口可以多继承接口 抽象类单继承抽象类
从设计上来说:与生俱来的属性写入父类,附属添加的写入接口,并且接口遵循最小化原则。