多态

多态

  • 多态的使用:虚拟方法调用
    有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。
    总结:编译,看左边;运行,看右边。
    多态性的使用前提:类的继承关系,方法的重写
//多态举例
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
  • 多态只适用方法,不适用属性。
原文地址:https://www.cnblogs.com/huyuqing/p/14320151.html