20155232 5月17日课堂时间第二个提交点补充
20155232 5月17日课堂时间第二个提交点补充
- 类定义
设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。
创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。
提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。
- 由于当时在给运行打水印,于是又没有提交上。。。
下面是运行截图:
在idea中运行没有错误后,将虚拟机的vim打开进行上传至码云。
- Book.java的代码如下:
public class Book {
private String name;
private String writer;
private String outer;
private int date;
public Book(String name, String writer, String outer, int date){
this.name = name;
this.writer = writer;
this.outer = outer;
this.date = date;
}
public Book(String name, String writer){
this(name, writer, "人民教育出版社", 201501);
}
public Book(String outer, int date){
this("密码学" ,"张三",outer, date);
}
public Book(){
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
if (date != book.date) return false;
if (name != null ? !name.equals(book.name) : book.name != null) return false;
if (writer != null ? !writer.equals(book.writer) : book.writer != null) return false;
return outer != null ? outer.equals(book.outer) : book.outer == null;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (writer != null ? writer.hashCode() : 0);
result = 31 * result + (outer != null ? outer.hashCode() : 0);
result = 31 * result + date;
return result;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", writer='" + writer + '\'' +
", outer='" + outer + '\'' +
", date=" + date +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getOuter() {
return outer;
}
public void setOuter(String outer) {
this.outer = outer;
}
public int getDate() {
return date;
}
public void setDate(int date) {
this.date = date;
}
}
- 测试bookshelf.java的代码:
/**
* Created by lishuqi on 17-5-17.
*/
public class Bookshelf {
public static void main(String[] args){
Book book1 = new Book();
Book book2 = new Book("《密码学》" ,"李四");
Book book3 = new Book("《数据结构》","张三","人民教育出版社",201501);
Book book4 = new Book("《数据结构》","张三","人民教育出版社",201501);
Book book5 = new Book("《数据结构》","张三","人民邮电出版社",201501);
Book book6 = new Book("人民教育出版社", 201501);
book1.setName("《Java程序设计》");
book1.setWriter("王五");
book1.setOuter("清华大学出版社");
book1.setDate(201606);
System.out.println("书本信息:书名:"+ book1.getName() + "作者:"
+ book1.getWriter()+ "出版社:"+book1.getOuter()+"出版年月:"+book1.getDate());
System.out.println(book2.equals(book6));
System.out.println(book3.equals(book4));
System.out.print(book3.equals(book5));
}
}
- 码云链接