Java多态

Java多态

概述

一个子类对象既可以给这个子类引用变量赋值,又可以给子类的父类变量赋值

格式

父类类型 变量名=new 子类类型();变量名.方法名();

特点

  • 父类引用变量指向子类对象
  • 父类引用变量调用方法时,会调用子类重写后的方法

多态成员的特点

  • 成员变量在编译时,参考的是父类中是否有被调用的成员变量,没有则编译失败
  • 成员变量在运行时,参考的是父类中是否有被调用的成员变量,没有则运行失败
  • 成员方法编译时,参考的是父类中是否有调用的方法,否则编译失败
  • 成员方法在运行时,参考的是子类中是否有方法

代码

package com.test.test;

//父类
public class Parent {
   int num=1;
   public void fun(){
       System.out.println("父类");
   }
}
//子类
public class Children extends Parent {
    int num=2;
    public void fun(){
        System.out.println("子类");
    }
}
//main调用
public class Main {
    public static void main(String[] args) {
        Parent p = new Children();
        System.out.println(p.num);
        p.fun();
    }
}

结果

1
子类

instanceof关键字:判断对象是否属于某种数据类型 格式:对象  instanceof 数据类型

多态优缺点

优点:

  • 提高了代码复用性与维护性
  • 提高了扩展性
  • 安全性,将子类类型隐藏

缺点:

  • 只能使用父类共性的内容,无法使用子类特有的功能

 

posted @ 2020-12-28 16:37  我还有头发  阅读(29)  评论(0编辑  收藏  举报