当前位置: 首页 > news >正文

面向对象练习题

创建四个类:Person类、Student类、Teacher类和Test类

Student类、Teacher类继承Person类

public class Person {
String name;
int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String say(){return "名字为:"+name+", 年龄为:"+age;}
}
public class Student extends  Person{double score;public Student(String name, int age, double score) {super(name, age);this.score = score;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public String say(){return  "学生"+super.say()+", 成绩为"+score;}//学生私有方法public  void study(){System.out.println("学生"+getName()+"正在学习Java~");}
}
public class Teacher extends Person{
double salary;public Teacher(String name, int age, double salary) {super(name, age);this.salary = salary;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public String say(){return  "老师"+super.say()+", 工资为"+salary;}public  void teach(){System.out.println("老师"+getName()+"正在教Java~");}
}
public class Test {public static void main(String[] args) {Person[] people=new  Person[5];people[0]=new Person("Tom",38);people[1]=new Student("lxl",18,98);people[2]=new Student("lky",21,78);people[3]=new Teacher("Tm",32,5000);people[4]=new Teacher("lll",48,2000);for (int i = 0; i <people.length ; i++) {System.out.println(people[i].say());if (people[i] instanceof Student) {//判断是否为Student类,否则不能访问study方法//如果不是,强制转换,向下转型Student student = (Student) people[i];student.study();//也可以使用一条语句代替
//                ((Student)people[i]).study();} else if (people[i] instanceof Teacher) {//判断是否为Student类,否则不能访问study方法//如果不是,强制转换,向下转型Teacher teacher = (Teacher) people[i];teacher.teach();} else if (people[i] instanceof Person) {}else {System.out.println("你输入的类型有错误");}}}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 玄机-第二章日志分析-mysql应急响应
  • LeetCode题(66,69,35,88)--《c++》
  • Ubuntu编译ffmpeg并添加cmake工程
  • 园区AR导航系统构建详解:从三维地图构建到AR融合导航的实现
  • JAVA面试题---JVM
  • JAVA零基础小白自学日志——第十九天
  • 【音视频】AAC编码器与ffmpeg生成AAC数据
  • 机器学习·概率论基础
  • conda:导出与创建环境快照
  • Github 2024-07-20 开源项目日报Top10
  • Jupyter Notebook与机器学习:使用Scikit-Learn构建模型
  • 【开源库学习】libodb库学习(一)
  • sourcetree中常用功能使用方法及gitlab冲突解决
  • Git提交到错误分支怎么办?(解决办法)
  • 解决前端开发中的浏览器兼容性问题
  • @jsonView过滤属性
  • 0x05 Python数据分析,Anaconda八斩刀
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JS 面试题总结
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue2 SSR 的优化之旅
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 给第三方使用接口的 URL 签名实现
  • 好的网址,关于.net 4.0 ,vs 2010
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 解析带emoji和链接的聊天系统消息
  • 使用parted解决大于2T的磁盘分区
  • 小而合理的前端理论:rscss和rsjs
  • 学习笔记TF060:图像语音结合,看图说话
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​zookeeper集群配置与启动
  • (07)Hive——窗口函数详解
  • (10)STL算法之搜索(二) 二分查找
  • (6)设计一个TimeMap
  • (6)添加vue-cookie
  • (pycharm)安装python库函数Matplotlib步骤
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (强烈推荐)移动端音视频从零到上手(下)
  • (一)80c52学习之旅-起始篇
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转) 深度模型优化性能 调参
  • (转)可以带来幸福的一本书
  • .equals()到底是什么意思?
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET C# 使用 iText 生成PDF
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [000-002-01].数据库调优相关学习
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [android] 练习PopupWindow实现对话框
  • [C#]C# OpenVINO部署yolov8图像分类模型