Java中多态到底怎么用和怎么实现(希望达到最简单的理解)

2022-12-21 08:48:00 浏览数 (1)

多态到底是什么?

  • 从字面上看:多态就是多种形态
  • 多态就是对象拥有多种表达方式
  • 打一个比方:你在中国,你可以说你在中国,你也可以说你在亚洲、在世界上,在地球上……
  • 多态就是一个对象的多种表现形态,同一个对象,在不同的时候不同的表现

看完上面的,相信你已经有了一个概念

多态的一个前提

  • 要有继承或者是实现关系
  • 要有父类引用指向子类对象
  • 要有方法的重写

多态中的成员访问特点

  • 成员变量:编译看左边执行看左边
  • 成员方法:编译看左边执行看右边

代码:

父类:

代码语言:javascript复制
/**
 * 父类
 */
public  class Ojbk {
    public String giao = "giao";
    public int giaog = 66;

    public void laoba(){
        System.out.println("老八");
    }
}

子类

代码语言:javascript复制
/**
 * 是Ojbk类的子类
 */
public class Subclassing extends Ojbk {
    public String giao = "no giao";
    public int giaog = 555;

    @Override
    public void laoba() {
        System.out.println("就不输入老八");
    }
}

调用测试类:

代码语言:javascript复制
/**
 * 测试类
 */
public class RunTexit {
    public static void main(String[] args) {
        Ojbk diao = new Subclassing();
        //调用的成员变量,都是父类中有的
        System.out.println(diao.giao);
        System.out.println(diao.giaog);
    }
}
  • 上面的代码可以看出来
  • 1 只有父类中有的,才能被调用
  • 2.父类没有的 调用不了
  • 3.调用方法时 因为子类重写了父类的方法,所以执行的是子类重写后的

多态的好处和弊端

好处

  • 提高了程序的扩展性
  • 具体:定义方法时,使用父类类型作为参数,将来在使用的时候,使用具体的子类型参与操作

弊端

  • 不能使用子类的特有方法和功能
  • 也就是不能用子类的东西 解决方法就是 向下转型 概念:从父到子 格式:子类类型 子类名称 = (子类类型)父类 这样就可以使用子类的方法了

不定时更改更新……

0 人点赞