java:多态详解,以及对象的向上和向下转型
大家好,兔胆包天我又来啦,今天给大家分享的是多态,多态最主要的是父类引用指向子类对象,还是老办法,直接上代码,代码中注解的很详细哦。
这是第一个代码:
//测试多态
public class Animal {public void shout(){System.out.println("叫了一声");}
}
class Dog extends Animal{public void shout(){System.out.println("汪汪汪");}public void seeDoor(){System.out.println("看门");}
}
class Cat extends Animal{public void shout(){System.out.println("喵喵喵");}public void catchMouse(){System.out.println("猫抓老鼠");}
}
第二个代码:```javascript
//测试多态,以及测试对象的转型:向上转型和向下转型
package com.DuoTai;public class Test {static void animalCry(Animal a){//定义一个方法,()内是变量。a.shout();//到这里并不知道输出什么叫声}public static void main(String[]args){Dog d=new Dog();animalCry(d);//父类引用指向子类对象,然后输出汪汪汪animalCry(new Cat());//直接调用Cat方法Animal a= new Dog();//向上转型:类似于int转型为double,非常简单//a.seeDoor; 这句语句无法执行,因为编译过程只会看Animal的方法Dog d2=(Dog)a;// 强制转型,父类转子类,向下转型d2.seeDoor();// 现在就可以执行了。}
}
java:多态详解,以及对象的向上和向下转型相关推荐
- Java多态详解(入门可看)
一.概念 所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式.多态 机制使具有不同内部结构的对象可以共享相同的外部接口.这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那 ...
- 【零基础学Java】—对象的向上和向下转型(二十七)
[零基础学Java]-对象的向上转型(二十七) 对象的向上转型,其实就是多态的写法 格式:父类名称 对象名=new 子类名称(): 含义:右侧创建一个子类对象,把它当做父类来看待使用 注意事项:向上转 ...
- 2020最新JAVA多态详解
首先我们创建一个动物类,这个动物类也就是所说的父类 动物共同的特点就是"吃",所以说我们在这里写了一个吃的方法 public class Animal {public void e ...
- java多态性详解——父类引用子类对象
Java的多态性 面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作 ...
- Java入门——多态详解
关于Java语言中的多态语法机制:[只是多态的基础语法,具体应用后面说] Animal.Cat.Brid三个类的关系 Cat继承Animal Brid继承Animal Cat和Brid之间没有任何继承 ...
- java jdbc 详解_JDBC概述及详解各个对象
JDBC(Java DataBase Connectivity)详解 一.概念: JDBC是一种可执行SQL语句的JavaAPI,Java数据库链接,Java语言操做数据库mysql 二.本质: JD ...
- Java基础知识之封装+继承+多态详解
前言 这篇博客是基于Java类和对象的基础之上的相关知识点.因为特别重要且语法规则较多,所以想单独总结方便之后复习. 本篇博客涉及知识点思维导图: 目录 1.封装 2.继承 3.多态 1.封装 生活中 ...
- Java异常详解及如何处理
来源:Java异常详解及如何处理 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言 ...
- Java 泛型详解(超详细的java泛型方法解析)
Java 泛型详解(超详细的java泛型方法解析) 1. 什么是泛型 泛型:是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型.也就是说在泛型使用过程中,操作的数据类型被指定为 ...
最新文章
- 检查用户是否正在使用IE
- LeetCode Populating Next Right Pointers in Each Node II(dfs)
- windows下安装nodejs及框架express
- CRM Set Type com_commercial的UI界面
- MySQL查询执行的基础——查询优化处理
- 中国国家高速公路网详细布局
- 多线程读取大文件,尤其是对日志文件分析很有用。
- 苹果确认部分iPad Air 3会出现永久性黑屏:可免费维修
- win7下U盘安装Ubuntu16.04双系统
- 力扣-204 计数质数
- 图论之单源最短路径问题
- vant ui的dialog二次封装使用
- 韦东山嵌入式Linux第一期视频-韦东山-专题视频课程
- 远程桌面连接:系统管理员已限制你登录的计算机处理方法
- 企业资产盘点系统能做什么
- 微信小程序getUserInfo无法获取用户信息
- python气象绘图技巧之箱线图
- [SSH服务]——一些安全性配置和补充实验
- ShardingSphere使用(一)
- 美前调查人员望政府宽恕斯诺登 称CIA前局长也曾被宽大处理
热门文章
- 【讨论课2】学校里面针对一些高大树木进行处理,处理措施如下:(1)高度大于50米的树木,采用“巨型升降机”砍伐,将其截成11节;(2)高度在40米到50米之间的树木,采用“巨型升降机”砍伐,每5米将其
- 日语N5级别所有一类动词原形
- Linux内核配置(二) :CPU类型配置
- C++:实现量化dividend option股息期权 测试实例
- C++ 系统宏定义 windows mac linux android ios
- DR007利率报价查询_图表加数据DR007存款类机构质押式回购利率
- 三菱四节传送带控制梯形图_基于三菱FX—2N系列PLC的四节传送带模拟控制设计...
- 计算机的基本结构以真值函数,离散数学N元真值函数问题
- C++程序设计 —— 实验四:STL 应用
- 用C#与数据库实现吃货联盟订餐系统