1.抽象的关键词:abstract
2.抽象的由来:
如果自下而上再类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加的抽象。从某种角度看,祖先类更加通用,人们只将他作为派生其他的类的基类,而不作为想使用的特定类的实力类。下面请看图
3.抽象类:
包含abstract叫抽象类,子类必须实现父类的抽象定义(抽象方法,有abstract)
类即使不含抽象方法,也可以将类声明为抽象类。
并且抽象类不能实例化。也就是说,如果讲一个类声明为abstract,就不能创建这个类的对象。例如,表达式
new Person(“Vince wu“) 是错误的,但可以创建一个具体子类的对象。
需要注意,可以顶一个抽象类的对象变量,但是它只能引用非抽象子类的对象。例如
Person p = new Student("V w","Econ");
这里的p是一个抽象类Person的变量,Person引用了一个非抽象子类的对象。