多态
- 多态的使用:虚拟方法调用
有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。
总结:编译,看左边;运行,看右边。
多态性的使用前提:类的继承关系,方法的重写
//多态举例
class Person{
int age = 3;
public void method1(){
Sysout.out.println("method1");
}
public void method2(){
Sysout.out.println("method2");
}
}
class Student extends Person{
int age = 33;
public void method1(){
Sysout.out.println("method111");
}
public void method3(){
Sysout.out.println("method3");
}
}
Person p = new Student();
p.method1(); //结果是method111
p.method2(); //结果是method2
p.method3(); //error;看不到子类的method3()方法
//多态只使用方法,不适用属性。
Sysout.out.println(p.age); //结果是3