Java中多态到底怎么用和怎么实现(最简单的理解)
程序员文章站
2022-04-10 19:35:27
多态到底是什么?从字面上看:多态就是多种形态多态就是对象拥有多种表达方式打一个比方:你在中国,你可以说你在中国,你也可以说你在亚洲、在世界上,在地球上……多态就是一个对象的多种表现形态,同一个对象,在不同的时候不同的表现看完上面的,相信你已经有了一个概念多态的一个前提要有继承或者是实现关系要有父类引用指向子类对象要有方法的重写多态中的成员访问特点成员变量:编译看左边,执行看左边成员方法:编译看左边,执行看右边代码:父类:/** * 父类 */public c...
多态到底是什么?
-
从字面上看:多态就是
多种形态
- 多态就是对象拥有多种表达方式
- 打一个比方:你在中国,你可以说你在中国,你也可以说你在亚洲、在世界上,在地球上……
- 多态就是一个对象的多种表现形态,同一个对象,在不同的时候不同的表现
看完上面的,相信你已经有了一个概念
多态的一个前提
- 要有继承或者是实现关系
- 要有父类引用指向子类对象
- 要有方法的重写
多态中的成员访问特点
-
成员变量:
编译看左边
,执行看左边
-
成员方法:
编译看左边
,执行看右边
代码:
父类:
/**
* 父类
*/ public class Ojbk { public String giao = "giao"; public int giaog = 66; public void laoba(){ System.out.println("老八"); } }
子类
/**
* 是Ojbk类的子类
*/ public class Subclassing extends Ojbk { public String giao = "no giao"; public int giaog = 555; @Override public void laoba() { System.out.println("就不输入老八"); } }
调用测试类:
/**
* 测试类
*/ 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.调用方法时 因为子类重写了父类的方法,所以执行的是子类重写后的
多态的好处和弊端
好处
- 提高了程序的扩展性
- 具体:定义方法时,使用父类类型作为参数,将来在使用的时候,使用具体的子类型参与操作
弊端
- 不能使用子类的特有方法和功能
-
也就是不能用子类的东西
解决方法就是 向下转型
概念:从父到子
格式:子类类型 子类名称 = (子类类型)父类
这样就可以使用子类的方法了
本文地址:https://blog.csdn.net/weixin_44257023/article/details/107896223