接口的实现和父类的继承的诞生
不知道我理解的对不对欢迎各位大神指正
Java的四大特性中:抽象,封装,继承,多态
- 父类和子类的诞生:即是Java中继承(extends)的体现
子类会继承父类中所有public实例变量和方法。
即:如果定义一个类是Animal类,那么他就是一个类库,他可以被实例化
当声明一个Dog类时,就可继承Animal类。然后自动继承了Animal类的所有方法,不用每个类单独再声明方法
- 为了防止父类不被创建比如animal类,没有哪一种动物叫做Animal,所以可以标记这个类是抽象类,抽象类不能被实例化,必须实现所有抽象类的方法
a) Mis代码中的Bo和BoImpl
b) 这样做就是多态,你可以创建出各种不同的动物来
c) Java中所有的类都是从Objecet继承而来的,但是Object不是抽象类,这是java本身的机制
- 接口是百分之百的抽象类,接口的诞生:
a) 上面的Dog类是继承自Animal类,但是如果还希望让Dog类拥有Pet类的属性,这个时候可以把Pet类的方法放到Animal类中,但是不是所有的子类都需要Pet
b) 而且Java不支持多继承?
c) 所以接口诞生了,你可以主属性继承自Aniaml类的时候,再实现(implements)Pet接口(interface)
- 多态的体现就是entends和implements