测试说明

测试输入:
泰迪
male
brown
波斯猫
male
2.5
预期输出:
名称:泰迪,性别:male,颜色:brown,汪汪叫
泰迪吃骨头!
名称:波斯猫,性别:male,体重:2.5kg,喵喵叫
波斯猫吃鱼!


开始你的任务吧,祝你成功!

//package case1;import java.util.Scanner;public class Task1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String dogName = sc.next();String dogSex = sc.next();String dogColor = sc.next();String catName = sc.next();String catSex = sc.next();double catWeight = sc.nextDouble();// 通过有参构造函数实例化Dog类对象dog// dog调用talk()方法// dog调用eat()方法/********* begin *********/Dog dog=new Dog(dogName,dogSex,dogColor);System.out.print(dog.toString());dog.talk();dog.eat();/********* end *********/// 通过有参构造函数实例化Cat类对象cat// cat调用talk()方法// cat调用eat()方法/********* begin *********/Cat cat=new Cat(catName,catSex,catWeight);System.out.print(cat.toString());cat.talk();cat.eat();/********* end *********/}
}// 抽象类Pet 封装属性name和sex
// 构造函数初始化name和sex
// 声明抽象方法talk()
// 声明抽象方法eat()
abstract class Pet {/********* begin *********/private String name;private String sex;public Pet(String name, String sex) {super();this.name = name;this.sex = sex;}public String getName() {return name;}public String getSex() {return sex;}abstract void talk();abstract void eat();/********* end *********/
}// Dog类继承自Pet类 封装属性color
// 构造函数初始化name、sex和color
// 实现自己的talk()方法和eat()方法
// talk()输出'名称:name,性别:sex,颜色:color,汪汪叫'
// eat()输出'name吃骨头'
class Dog extends Pet {private String color;public Dog(String name, String sex, String color) {super(name, sex);this.color = color;}void talk() {// TODO Auto-generated method stubSystem.out.println("汪汪叫");}void eat() {// TODO Auto-generated method stubSystem.out.println(getName()+"吃骨头!");}public String getColor() {return color;}public String toString() {return String.format("名称:%s,性别:%s,颜色:%s,",getName(),getSex(),color);}}// Cat类继承自Pet类 封装属性weight
// 构造函数初始化name、sex和weight
// 实现自己的talk()方法和eat()方法
// talk()输出'名称:name,性别:sex,体重:weight kg,喵喵叫'
// eat()输出'name吃鱼'
class Cat extends Pet {private double weight;public Cat(String name, String sex, double weight) {super(name, sex);this.weight=weight;}void talk() {// TODO Auto-generated method stubSystem.out.println("喵喵叫");}void eat() {// TODO Auto-generated method stubSystem.out.println(getName()+"吃鱼!");}public double getWeight() {return weight;}public String toString() {return String.format("名称:%s,性别:%s,体重:%.1fkg,",getName(),getSex(),weight);}}

第1关:封装、继承和多态进阶(一)相关推荐

  1. java 继承重写_java 封装 继承 重写 多态

    封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: 将变化隔离.便于使用.提高重用性.提高安全性 封装原则: 将不需要对外提供的内容都隐藏起来.把属性都隐藏,提供公共方法对其访问. ...

  2. 面向对象 详解笔记 方法 类 对象 封装 继承 重写 多态 接口

    文章目录 面向过程&面向对象 面向过程 面向对象 什么是面向对象 回顾方法及加深 方法的定义 修饰符 返回类型 break:跳出switch,结束循环和return的区别 方法名:注意规范就o ...

  3. 本质论之封装继承和多态的介绍

    关于 类,我有一些话想说 说到类那就说到了面向对象的灵魂了,没有它也就没有了封装.继承and多态这些东西了.我还记得在读研期间每次看到这些都望而却步,甚至我搞不懂对象和类的区别(这里防止有人也不知道区 ...

  4. 黑马程序员_JAVA之面向对象(封装,继承和多态)

    ------- android培训.java培训.期待与您交流!---------- 面向对象 一.面向对象概述 定义: 面向对象(Object Oriented,OO)是软件开过过程中使用一种思维方 ...

  5. Java回顾 封装 继承和多态

    封装 什么是封装 封装:就是隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装时的权限控制符区别如下: 封装的意义 对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象 ...

  6. java 封装 继承和多态

    2019独角兽企业重金招聘Python工程师标准>>> 多态无处不在.引用的概念最为困难.理解了引用才能理解多态的意义以及应用. 多态的应用的一大前提是继承.以及继承中的重写方法.继 ...

  7. python类与对象 封装继承与多态 0308

    类与对象 初始化方法 init方法 带参实例化类 del方法 str方法 私有 继承 方法的重写 super 父类名称调父类方法 调用父类私有 间接调用 多继承 新式类经曲类 多态 类属性 类方法 静 ...

  8. 头歌实践实践教学平台:Java面向对象 - 封装、继承和多态的综合练习

    第1关:封装.继承和多态进阶(一) 任务描述 本关任务:按要求编写一个Java应用程序,巩固Java面向对象知识. 相关知识 为了完成本关任务,我们回顾一下前面所学知识:1.面向对象思想 :2.封装: ...

  9. 07 面向对象编程-结构、封装、继承、多态、接口

    文章目录 Struct定义 struct 方法 工厂模式 面向对象三大特性 封装 继承 接口 多态 Golang支持面向对象编程,但是和传统面向对象有区别,并不是纯粹面向对象的语言,只能说Golang ...

最新文章

  1. 更新 Ubuntu 系统,避免报错「校验和不符」
  2. JVM专题(2)-类加载器子系统
  3. 通过简单例子 | 快速理清 UML类图中六大关系
  4. mt4虚拟服务器在哪里看,mt4查看自己服务器地址
  5. Android studio git 本地仓库和远程仓库节点对比
  6. [tomcat]-tomcat8启动时SessionIdGeneratorBase.createSecureRandom耗时
  7. CTP 客户端 技术相关 简介 一
  8. Flutter AnimatedContainer 动画使用解析
  9. JAVA注释 关键字 标识符 常量 变量 数据类型 大小 类型转换 字符类型 (算术 赋值 自增自减 比较 逻辑短路现象 位移 三元) 运算符
  10. 区分QA和QC, Verification和Validation
  11. [附源码]java+ssm计算机毕业设计交通违章举报平台lxsqm(源码+程序+数据库+部署)
  12. 关于DrawerLayout must be measured with MeasureSpec.EXACTLY问题解决办法
  13. 基于JAVA动漫网站和特效处理系统(Springboot框架+AI人工智能) 开题报告
  14. Caliburn.Micro中的Screen和Conductor
  15. csdn简单设置字体颜色
  16. 配置管理工程师就职要求
  17. Win10系统从sata转移到nvme无法启动问题处理
  18. 前端笔记之React(六)ES6的Set和Mapimmutable和Ramda和lodashredux-thunk
  19. Android10 wifi AP功能
  20. 优化Recorder H5录音:可边录边转码上传服务器,支持微信提供Android IOS Hybrid App源码

热门文章

  1. lyft读音_我在Lyft的远程暑期实习
  2. Case When Then End
  3. C#网络编程(四、Socket中英文字符大小和文本边界问题)
  4. 鲁班H5可视化开源平台搭建笔记
  5. 1.1.4流程控制语句
  6. 台达触摸屏与多台变频器485通信 温控器通信 不用通过PLC,直接由触摸屏的com口进行通信控制
  7. Less 58-61
  8. 你的皮肤适合什么颜色的衣服
  9. 新手java五子棋完整代码判断落子落在线上_JAVA五子棋开发
  10. Sqlite大批量导入数据提高效率的几种方式