动态绑定:**[http://www.cnblogs.com/ygj0930/p/6554103.html](http://www.cnblogs.com/ygj0930/p/6554103.html "view: Java方法的静态绑定与动态绑定")**
### 操作符的多态
同一个操作符在不同情境下,具备不同的作用
如果+号两侧都是整型,那么+代表 数字相加
如果+号两侧,任意一个是字符串,那么+代表字符串连接
~~~
package charactor;
public class Hero {
public String name;
protected float hp;
public static void main(String[] args) {
int i = 5;
int j = 6;
int k = i+j; //如果+号两侧都是整型,那么+代表 数字相加
System.out.println(k);
int a = 5;
String b = "5";
String c = a+b; //如果+号两侧,任意一个是字符串,那么+代表字符串连接
System.out.println(c);
}
}
~~~
### 观察类的多态现象
![](https://box.kancloud.cn/c8669018520f9c3f51fb6d0bf52bab85_430x69.png)
观察类的多态现象:
1\. i1和i2都是Item类型
2\. 都调用effect方法
3\. 输出不同的结果
多态: 都是同一个类型,调用同一个方法,却能呈现不同的状态
### 类的多态条件
要实现类的多态,需要如下条件
1\. 父类(接口)引用指向子类对象
2\. 调用的方法有重写