多态(polymorphism)
静态绑定和动态绑定
绑定
概念:
通过显示声明或隐式声明将一事务分配给另一事务
方法:
-
赋值给变量
-
将方法调用关联上某一个具体的方法
静态绑定(静态联边)(所有的属性都是静态绑定):编译期完成,方法包括
-
静态方法---static
-
构造器
-
private方法---私有方法
-
关键字super调用的方法
动态绑定(动态联编):执行期间判断类型完成,降低了代码的执行速度
Java比C/C++慢的主要因素之一
继承了父类的子类里面重写了父类的方法---在执行期间new的对象在执行期间才能够真正的找到该方法---编译期间不会真实的去堆空间开辟对象--->看实例化的对象是谁
多态
相同事务,调用相同方法,参数相同,表现行为不同
以封装和继承为基础。子类以父类身份出现,但做的事情时还是以自己的方法实现
Father类:
package inheritance;
/**
* 定义一个父类,里面写一些方法
* @author Lucifer
*/
public class Father {
/*定义父类方法*/
public void KongFu(){
System.out.println("九阳神功!");
}
}
Son类:
package inheritance;
/**
* 继承父类
* @author Lucifer
*/
public class Son extends Father{
Test类:
package inheritance;
/**
* 测试继承后的输出结果
* @author Lucifer
*/
public class Test {
public static void main(String[] args) {
/*实例化对象输出*/
Son s = new Son();
s.KongFu();
Father f = new Son();
f.KongFu();
Father f2 = new Father();
f2.KongFu();
}
}