《Java技术》第三次作业蕊薏

classAnimal{voidshout(){System.out.println("动物叫!");}}classDogextendsAnimal{publicvoidshout(){System.out.println("汪汪......!");}publicvoidsleep(){System.out.println("狗狗睡觉......");}}publicclassTest{publicstaticvoidmain(Stringargs[]){Animalanimal=newDog();animal.shout();animal.sleep();Dogdog=animal;dog.sleep();Animalanimal2=newAnimal();dog=(Dog)animal2;dog.shout();}}向上转型对象不能操作子类对象新增方法,应该在父类中添加一个sleep()来实现方法的覆盖;Dogdog=animal;(错误)下转型,需要强制类型转换,子类名称子类对象=(子类)父类实例;Animalanimal2=newAnimal();(错误)父类引用的对象是父类本身,在向下转型时是不安全的,可以改写成父类引用的对象指向子类对象改后代码:

classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){this.name=name;this.age=age;}}publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson("张三",20);System.out.println(per);System.out.println(per.toString());}}(1)程序的运行结果如下,说明什么问题?Person@166afb3Person@166afb3没有加toString()方法,所以输出调用了object中toString()方法

(1)首先创建一个汽车抽象类,包括编号,名称,租金三个属性(2)创建三个汽车种类,客车、货车和皮卡,他们都继承汽车抽象类(3)设计两个接口,客车继承载客量接口,货车继承载货量接口,皮卡继承载货量接口和载客量接口5.阅读下面程序,分析代码是否能编译通过,如果不能,说明原因,并进行改正。如果能,列出运行结果interfaceAnimal{voidbreathe();voidrun();voideat();}classDogimplementsAnimal{publicvoidbreathe(){System.out.println("I'mbreathing");}voideat(){System.out.println("I'meating");}}publicclassTest{publicstaticvoidmain(String[]args){Dogdog=newDog();dog.breathe();dog.eat();}}不能,类型Dog必须实现继承的抽象方法Animal.run(),且不能减少从父类Animal上继承的方法的可见性

(1)用abstract修饰的类被称为抽象类。抽象类就是没有具体实例对象的类。用抽象类不能创建对象,只能派生子类。(2)抽象方法必须存在于抽象类之中。不能用abstract修饰构造方法、静态方法和私有方法。(3)方法的继承:父类的非私有方法均可以被子类继承。方法的重写:子类重新定义从父类继承来的方法,实现自身的行为,而不是实现由父类定义的行为。

格式如下:

(2)设计球类、圆柱类,圆锥类、矩形类、三角形类、圆类,分别继承平面图形抽象类和立体图形抽象类。(3)设计一个测试类,随机产生球,圆柱、圆锥体、矩形、三角形、圆的尺寸,模拟考试,要求用户回答它们的体积和表面积(或者周长和面积),并判断用户的回答是否正确。

(2)利用抽象类和对象多态重构(1)中的程序,Animal类采用抽象类,合并Feeder类中的方法(3)第二次重构,修改feedAnimals方法,让它接收一个Animal数组

宠物种类有猫、狗,宠物信息包括:编号、种类、品种、单价、数量。要求实现以下功能:(1)展示所有宠物(2)购买宠物(3)展示购买清单:显示购买的宠物品种,数量,价格合计及购买宠物的总价钱

(1)接口Animal:有2个抽象方法cry()和getAnimaName(),要求实现该接口的各种具体动物类给出自己的叫声和种类名称。(2)模拟器类Simulator:有一个playSound(Animalanimal)方法。即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音、调用重写的getAnimalName()方法显示动物种类的名称。(3)实现Animal接口的Dog类和Cat类(4)测试类:main方法中至少包含如下代码:Simulatorsimulator=newSimulator();simulator.playSound(newDog());simulator.playSound(newCat());

(1)定义一个抽象类交通工具类Transportation,属性:编号,型号,运输负责人。方法:无参构造和含三个参数的构造方法,get和set方法,抽象方法transport()(2)定义一个专用运输车类JDTransportation继承交通工具类,继承父类构造方法,实现transport()方法,输出一个运输信息。(3)定义一个接口GPS实现对货物的定位。接口中有方法showCoordinate()跟踪货物的位置信息。(4)定义一个类Phone实现GPS接口(5)定义一个快递任务类SendTask,具有私有属性:快递单号、货物重量。方法:无参和含参构造方法,get和set方法,sendBefore()方法输出运输前的检查信息和快递单号。send(Transportationt,GPStool)方法输出运货人、车辆编号、型号信息,该方法中调用transport方法输出运输信息,调用showCoordinate()方法输出货物位置坐标。sendAfter(Transportationt)方法输出货物运输完成后的信息。(6)定义一个测试类,创建一个快递任务类对象,一个交通工具类对象,一个GPS工具对象。模拟物流快递过程。输出运输前、运输中和运输后的信息。

THE END
1.[书籍精读]《JavaScript设计模式与开发实践》精读笔记分享书籍介绍:本书在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到...https://segmentfault.com/a/1190000022647112
2.Java编程中那些再熟悉不过的知识点(持续更新)都是面向对象的语言,都支持封装、继承和多态 Java 不提供指针来直接访问内存,程序内存更加安全 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java 有自动内存管理机制,不需要程序员手动释放无用内存 6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同? https://www.imooc.com/article/13418
1.python毕设宠物商店管理系统程序+论文本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。 系统程序文件列表 开题报告内容 一、选题背景 关于宠物商店管理系统的研究,现有研究主要集中在宠物信息管理方面,专门针对包含宠物类型、宠物用品、宠物美容、寄养套餐等多方面功能的综合宠物商店管理系统的研究较少。在国...https://blog.csdn.net/wek101/article/details/143816218
2.087087_petShopPublic是一个基于Springboot的宠物店管理系统,分为管理员和店员两种角色。管理员可以管理宠物主人、宠物、宠物医疗、宠物销售、宠物寄养、宠物用品、宠物日常服务、宠物常见问题等,还可以进行用户管理、角色管理、部门管理、岗位管理、菜单管理、服务监控、日志管理和个人中心等操作。而店员则可以进行宠物主人...https://java.code.coder100.com/index/index/content/id/60064
3.python循环小狗小猫的商店mob64ca12d97dad的技术博客在这篇文章中,我们详细介绍了如何实现一个简单的“宠物商店”程序。我们通过创建宠物类、小狗和小猫类,以及一个负责管理所有宠物的商店类,逐步完成了一个基础的代码结构。通过循环展示宠物信息,我们达成了项目的目标。 希望这篇文章能帮助你更好地理解Python编程的基础知识!在你编写代码的过程中,牢记保持代码的整洁和...https://blog.51cto.com/u_16213337/12172410
4.Java1.7 Java的四个基本特性及多态的理解? 1.8 重载和重写的区别? 1.8.1 重载 https://blog.csdn.net/cey009008/article/details/46331619 重载(overload),Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。 -1.可以在一个类中也可以在继承关系的类中; -2.名相同; 3.参...https://github.com/43984463/Java-Interview/blob/master/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E7%82%B9%E5%92%8C%E7%AD%94%E6%A1%88.md
5.JAVA经典面试题附答案(持续更新版)[通俗易懂]TreeMap和LinkedHashMap是有序的(TreeMap默认升序,LinkedHashMap则记录了插入顺序)。参考链接8.抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么。1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的...https://cloud.tencent.com/developer/article/2064173
6.阿里P8整理总结,金九银十入职大厂必备Java核心知识,附加面试题...金九银十就要来了,不知道程序员们都准备好了吗? 今天就给大家分享一波一位小伙伴面试大厂的经历、知识点和面试题分享,主要内容包括:JVM、JAVA集合、JAVA多...简短自我介绍 事务的ACID,其中把事务的隔离性详细解释一遍 脏读、幻影读、不可重复读 红黑树、二叉树的算法 平常用到哪些集合类?ArrayList和LinkedList区别?https://maimai.cn/article/detail?fid=1687973716&efid=oRY6XoE7qvTGium0e015Cg
7.计算机等级考试二级Java重要知识点Java程序是用类来组织的。下面是关于计算机等级考试二级Java重要知识点,希望大家认真阅读!...对文件进行读写是流类所关心的文件内容。 21. Reader是一个抽象类,字符输入流都是抽象类Reader类的...62. 对象具有5个特点:标识唯一性、分类性、多态性、封装性和模块独立性。其中封装性是指从外面看只能...https://www.yjbys.com/edu/jisuanjidengji/287104.html