package _7向上向下转型;
public class TestDemo {
public static void main(String[] args)
{
// TODO Auto-generated method stub
// // 猫的引用指向一个猫的对象
// Cat a = new Cat();
// a.name = "小白";
// a.age = 2;
//
// a.sing();
// a.catchMouse();
//
// // 向上转型: 用父类的引用,指向子类的对象
// Animal b = a;
// b.sing(); // 仍旧会按照猫的方式唱歌
// b.catchMouse();// 不是所有动物都会抓老鼠
// 向下转型: 用子类的引用,指向这个用父类引用指向的对象
// Animal c = new Cat();
// c.name = "小黑";
// c.age = 3;
// c.sing();
//
// Cat d = (Cat)c;
// d.catchMouse();
// Animal e = new Dog();
// e.name = "小黄";
// e.age = 3;
// e.sing();
//
// Cat f = (Cat)e; // 运行时异常 无法把狗变成猫来使用
// f.catchMouse();
// 具体作用:
// Dog[] dogs = new Dog[3];
// Cat[] cats = new Cat[3];
Animal[] animals = new Animal[3];
animals[0] = new Cat();
animals[0].name="小黑";
animals[0].age = 3;
animals[1] = new Dog();
animals[1].name="阿黄";
animals[1].age = 3;
animals[2] = new Pig();
animals[2].name="佩奇";
animals[2].age = 3;
for(int i=0;i<animals.length;i++)
{
animals[i].sing();
// 判断这个动物是不是猫类
if(animals[i].getClass() == Cat.class)
{
Cat c =(Cat)animals[i];
c.catchMouse();
}
else if(animals[i].getClass() == Dog.class)
{
Dog d = (Dog)animals[i];
d.watchDoor();
}
}
// 练习: day16-2
// a 定义员工类
// 属性:姓名 年龄 薪水
// 方法: 吃饭 睡觉 工作
// b 定义业务员类 继承员工类
// 方法: 重写方法工作 打印输出出去跑业务
// 参加展会 打印输出到 莫某地方参加展会
// c 定义财务人员类 继承员工类
// 方法: 重写方法工作 打印输出开始记账
// 报税 打印到税务局报税
// d 定义程序员类: 继承员工类
// 方法:重写方法工作 打印输出开始记账 打印输出开始敲代码
// e 定义一个员工数组放3个员工(1个业务员 1个财务人员 1个程序员)
//
// f 写个循环让所有员工执行工作,
// 另外:如果是业务人员,让他执行参加展会
// 另外:如果是财务人员,让他执行报税
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java入门-12-继承extends.rar
共42个文件
java:40个
project:1个
classpath:1个
需积分: 1 0 下载量 157 浏览量
2024-09-01
09:35:05
上传
评论
收藏 17KB RAR 举报
温馨提示
java入门-12-继承extends.rar
资源推荐
资源详情
资源评论
收起资源包目录
12-继承.rar (42个子文件)
12-继承
.classpath 295B
src
_3重写
TestDemo.java 302B
Animal.java 316B
Cat.java 330B
Dog.java 128B
_7向上向下转型
TestDemo.java 2KB
Pig.java 85B
Animal.java 324B
Cat.java 338B
Dog.java 215B
_4super关键字
TestDemo.java 691B
TestDemo2.java 416B
Animal.java 320B
Student.java 399B
Cat.java 526B
Person.java 251B
Dog.java 135B
_9final关键字
TestDemo.java 472B
Son.java 139B
Gonggong.java 71B
Person.java 68B
Father.java 111B
_1引入
Hero.java 680B
TestDemo.java 1KB
Monster.java 519B
_2继承
TestDemo.java 439B
Animal.java 316B
Cat.java 127B
Dog.java 128B
_10练习
ExerciseDay15.java 1KB
_8抽象类
TestDemo.java 861B
Animal.java 216B
Cat.java 178B
Dog.java 101B
_6Object类
TestDemo.java 780B
Person.java 995B
_5protected关键字2
ClassC.java 413B
TestDemo2.java 338B
_5protected关键字
TestDemo.java 278B
ClassB.java 333B
ClassA.java 442B
.project 368B
共 42 条
- 1
资源评论
蜡笔小流
- 粉丝: 2390
- 资源: 1242
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功