JAVA OO重点内容之 多态 接口
JAVA OO中 继承 封装 多态 抽象被命为面向对象编程的四大基础特征
封装隐藏了类的内部实现机制 从而可以在不影响使用者的前提条件下 改变类的内部结构 ,同时保护了数据
继承是为了重用父类代码
多态是指一个对象有多种形式的能力 一个类的子类可以定义他们唯一的行为 ,同时共享父类的某些相同特征。
具体来说多态可以理解为:
1.第一种是对象的不同方法可以用相同的方法名,也就是重载的概念 。(重载是指:在一个类里面 方法名相同 参数列表不同)
2.同一对象根据不同的消息执行相应的行为 ,也可以认为发送消息给某一个对象 ,让对象自己选择相应的行为
所以多态可以分为静态多态和动态多态
通俗来说:静态多态就是说 在系统调用方法时就能决定调用哪个方法 而动态方法则需要在用户进行实例化时来实现判断
下面来说多态的实现方式:
在JAVA中 使用动态绑定和重写机制来实现多态
JAVA中默认动态绑定 所谓动态绑定 就是说 对于父类中定义的方法 ,如果子类中重写了该方法,那么父类类型的引用将会调用到子类的方法 这就是动态绑定
一般来说 子类中实现和定义的方法 在父类中无法调用 只能在父类中已经定义而且实现的方法 在子类中才会被调用
对于多态的总结:
1.使用父类类型的引用指向子类的对象
2.该引用只能调用父类中定义的方法 ,不能调用子类中独有的方法
3.如果子类中重写了父类中的一个方法 那么在调用这个方法的时候,将会调用子类中的这个方法
4.在多态中,子类可以调用父类中的所有方法