Java_多态
2021/5/19 20:57:58
本文主要是介绍Java_多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
多态
同一个对象可以用多种形态(子类类型、父类类型)进行表示。
多态的前提
1.要有继承、实现的关系
2.要有方法重写
3.父类/接口接收子类对象
Animal a = new Dog(); //Animal是Dog的父类
Usb u = new Mouse(); //Usb是Mouse的接口
多态的成员访问特点
1.成员变量的访问特点
编译看左边(父类),运行也看左边(父类)
大白话:父类有就用父类的,父类没有就报错了
2.成员本方法的访问特点
编译看左边(父类),运行也看右边(子类)
大白话:子类复写父类方法,就执行子类的方法。
一句话总结:只有复写的方法看子类,其他的都看父类,父类没有就报错。
多态的好处和弊端
1.好处:提高了代码的扩展性
把方法的参数写成父类、接口,调用方法时可以传递任意的子类对象。
2.弊端:不能调用子类特有的方法。如果想调用可以进行强转(向下转型)
多态的转型
1 1.向上转型 2 Animal a=new Dog(); //多态的写法,就是向上转型 3 4 2.向下转型 5 //判断变量a具体是什么类型 6 if(a instanceof Dog){ 7 Dog dog=(Dog)a; 8 dog.swimming(); 9 }
【注意:多态的转型并不是随意的,它是一个还原的动作。原本是什么类型,才能转换为什么类型】
3.多态转型可能会遇到的问题
ClassCastException: 多态的转型出现的问题,类型转换错了
NullPointerExeption: 一个对象或者一个数组为null,使用null去调用方法或者访问元素。
这篇关于Java_多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26JavaScript入门教程:从零开始学习JavaScript编程
- 2024-12-26JavaScript入门教程:从零开始学习JavaScript
- 2024-12-26JS编程入门指南:从零开始学习JavaScript
- 2024-12-25Java编程面试题详解与解答
- 2024-12-25TS基础知识详解:初学者必看教程
- 2024-12-252024面试题解析与攻略:从零开始的面试准备指南
- 2024-12-25数据结构与算法学习:新手入门教程
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南