java 多态基础

java多态基础

多态使同一方法可以根据发送对象的不同采用不同的行为方式

一个对象的类型确定,但可以指向对象的类型有很多

 

一个对象的实际类型是确定的

new Student();
new Person();

 

可以指向的引用类是不确定的 父类的引用可以指向子类

Student s1 = new Student();
Person s2 = new Student();
Object s3 = new Student();

demo

public class Person{
     public void run(){
          System.out.println( "Person run");
    }
}

public class Student extends Person{
      public void run(){
          System.out.println(" Student run");
      }
   public void study(){
        System.out.println("study");
  }
}
public class Main{
  public static void main(String args[]){
       Student s1 = new Student();
       Person s2 = new Student();
       s1.run(); // cout Student run 子类重写了父类的方法,执行子类的。
       s2.run(); // cout Student run
       s1.study(); // wrong
       s2.study(); // cout study;
  }
}

 

注意

  1. 方法有多态,属性没有

  2. 父类与子类之间存在

  3. 条件: 继承关系, 方法要重写,父类引用子类的对象。

    不能重写的

    1. static

    2. final

    3. private

      instanceof

      X instanceof Y 当X 与 Y 有父子关系时对

      image-20220301183112514

 

 

posted @ 2022-03-01 18:38  No2ya  阅读(18)  评论(0)    收藏  举报