20155238 Java第13周课堂实践

java

类定义

实验内容及要求

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

  • 创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。

实验过程

  • 产品代码

public class Book {

private String bookname;

private String author;

private String publishing;

private String price;

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

public String getPublishing() {

return publishing;

}

public void setPublishing(String publishing) {

this.publishing = publishing;

}

public String getPrice() {

return price;

}

public void setprice(String price) {

this.price = price;

}

public String getBookname() {

return bookname;

}

public void setBookname(String bookname) {

this.bookname = bookname;

}

public Book(String bookname, String author, String publishing, String price) {

this.bookname = bookname;

this.author = author;

this.publishing = publishing;

this.price = price;

}

@Override

public String toString() {

return "Book{" +

"bookname='" + bookname + '\'' +

", author='" + author + '\'' +

", publishing='" + publishing + '\'' +

", price='" + price + '\'' +

'}';

}

@Override

public boolean equals(Object o) {

if (this == o) return true;

if (o == null || getClass() != o.getClass()) return false;

Book book = (Book) o;

if (bookname != null ? !bookname.equals(book.bookname) : book.bookname != null) return false;

if (author != null ? !author.equals(book.author) : book.author != null) return false;

if (publishing != null ? !publishing.equals(book.publishing) : book.publishing != null) return false;

return price != null ? price.equals(book.price) : book.price == null;

}

@Override

public int hashCode() {

int result = bookname != null ? bookname.hashCode() : 0;

result = 31 * result + (author != null ? author.hashCode() : 0);

result = 31 * result + (publishing != null ? publishing.hashCode() : 0);

result = 31 * result + (price != null ? price.hashCode() : 0);

return result;

}

  • 测试代码

public class Bookshelf {

public static void main(String[] args){

Book b = new Book("Java","林信良","清华大学出版社","68");

Book b1 = new Book("Java学习笔记","林信良","清华大学出版社","68");

System.out.println(b.getBookname());

System.out.println(b.equals(b1));

b.setPublishing("java学习笔记");

System.out.println(b.equals(b1));

System.out.println(b.getBookname());

System.out.println(b.getAuthor());

System.out.println(b.getAuthor());

System.out.println(b.getPublishing());

System.out.println(b.getPrice());

}

}

  • 实验截图

  • 码云链接

实验总结

  • 今后应多加练习,争取更加熟练的掌握,在课上能及时提交。

以上是 20155238 Java第13周课堂实践 的全部内容, 来源链接: utcz.com/z/391074.html

回到顶部