类定义(课下选做) 20175213

一、题目要求
1.设计并实现一个Book类,定义成Book.java,Book 包含书名,作者,出版社和出版日期。
2.数据都要定义getter和setter。
3.定义三个构造方法,接收并初始化这些数据。
4.覆盖(Overeide)toString方法,返回良好的含有多行的书的描述信息。
5.覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书一样的。

二、设计思路
1.类是把同类事物的共同特征和行为封装在一起的结构体,事物的特征称为属性,事物的行为称为方法,类是抽象的概念集合,表示的是一个共性的产物,类中定义的是属性和方法。

2.在Java中,通过关键字class来声明类,类声明语法如下:
public class 类名
{
//定义类属性部分
属性1的类型 属性1;
属性2的类型 属性2;
……
属性n的类型 属性n;
//定义方法部分
方法1:
……
方法n:
}

3.一个完整的Java类由类声明和类体构成,类体内容包含在{ }括号之内。
类声明为“public class 类名”,其中class是Java类定义关键字,声明Java类时,类声明需要包含class关键字。public是Java预定义的访问权限关键字,用来修饰被定义类的访问权限,当被定义类修饰为public时,其它定义的外部类就可以访问该类的内部成员和方法。类体包含了类的属性和方法。

  • 根据要求分Book和BookShelf两个类。
  • 在Book类中定义四个getter,用于返回书名、作者、出版社和出版日期。
  • 在BookShelf类中定义四个setter,用于赋给书名、作者、出版社和出版日期。
  • equals()方法的重写,用于判断是否为同一个对象的调用,当所有信息都相同时返回true,说明两本书相同。

三、代码
1.BookShelf:

2.Book:

3.运行结果

原文地址:https://www.cnblogs.com/LZHNB/p/10666798.html

时间: 2024-08-30 17:33:35

类定义(课下选做) 20175213的相关文章

类定义(课下选做)

一.设计思路 之前在课上做过类似的题目,首先分析,这个题的重点在重写toString类和equals类 首先,是toString类,直接重写public String toString(){return 字符串:}返回要输出的字符串即可 然后是equals类 用public boolean equals(Object o){内容}重写 先用if(this==o)判断地址是否相同,若相同直接true 再用if(o==null)判断对象是否为空``` 接着用if (getClass()!=o.get

20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然后在验证通过后再取出. 2.在Book.java中储存测试类中输入的数据,然后验证信息是否一样,一样则输出,否则就返回false. 测试代码 Bookself.java public class Bookself { public static void main(String[] args) { Book

类定义(课下选做)

类定义(课下选做) 要求 Book类包含书名,作者,出版社和出版日期 数据都要定义getter和setter 至少三个构造方法,接收并初始化这些数据 覆盖toString方法,返回良好的含有多行的书的描述信息 覆盖equals方法,书名.作者.出版社和出版日期完全相同说明两本书相同. 创建一个测试类BookShelf 思路 根据要求最好分为两个类,即Book和BookShelf 在Book类中定义四个getter,返回书名.作者.出版社和出版日期 在BookShelf类中定义四个setter,赋

20165235 第十周课下补做

20165235 祁瑛 第十周课下补做 相关知识点的总结 LinkedList<String> mylist=new LinkedList<String>()来创建一个链表. mylist.add();来添加结点. get(int index)来获取链表中第index个位置的结点的对象. public static sort(List<E>)将链表中的元素升序排列 public static binarySearch(List<T>,T key,Compar

20165322 第十周课下补做

第十周课下补做 课程知识点总结 在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法: Comparable:"可比较的",(欲参与比较的对象对应的元素类需实现Comparable接口) 使用这种策略来比较时,两个对象(这里两个对象是指一个类的两个不同实例)本身必须是"可比较的",比较的标准由对象所在的类来定义,这种可比较的能力是对象本身固有的,因此不需要第三方参与就可以完成比较.要使得两个对象本身是可比较的,那么对象所在的类必须实现Compa

20165308 2017-2018-2 第十周课下补做

20165308 2017-2018-2 第十周课下补做 一.教材十五章代码分析 代码分析有的是以注释的形式写出,对整个代码的理解是写在前面的 1.p442-443 Example15_1.java Cone.java 此类不关心怎么样计算面积,计算面积由后面的类完成,只需调用即可,只关心计算体积. public class Cone<E> { double height; E bottom; //用泛型类E声明对象bottom public Cone(E b) { //参数b是泛型类型 bo

20165315 第四次考试课下补做

20165315 第四次考试课下补做 一.相关知识点的总结 泛型 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构 泛型类声明 可以使用class 名称<泛型列表>声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据 使用泛型类声明对象 泛型类声明和创建对象时,类名后多了一对"<>",而且必须要用具体的类型替换"<>"中的泛型 链表

20165315 第二次考试课下补做

20165315 第二次考试课下补做 课上内容的补做,结果截图 参考http://www.cnblogs.com/rocedu/p/6766748.html 编程实现1!+2!+3!+... + N!的功能,N由命令行传入,比如类名为SumofRecur, java SumofRecur 8 给出1!+2!+3!+... + 8!的值, 提交运行结果的截图(至少五张),注意测试正常,异常,边界情况, 比如java SumofRecur -8,java SumofRecur 0,java Sumo

20165311 第一次考试课下补做

第一个测试: 第二个测试: 第三个测试: 知识点: 第一个测试 源代码名称随着public类名称的改变而改变 第二个测试 打包文件时,需要先在总目录中输入javac -d bin *.java,再输入java -cp .:bin packagename.*,在bin目录中的字节码运行出结果即可 第三个测试 源文件的名称与public类名称相同 运行时应运行主类所在的文件名称 Java语言中区分大小写 写java命令不能携带扩展名和目录 测试未完成原因:虚拟机一开始没有安装jdk 课下发现可以用g