zoukankan      html  css  js  c++  java
  • 20175221曾祥杰 类定义

    20175221曾祥杰 类定义

    题目要求

    • 设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。
    • 创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。
    • 提交博客,要有设计思路,测试代码和运行结果截图,加上学号水印,要有码云代码链接。
    • 独立完成,抄袭倒扣分

    设计思路

    • 按照要求对书的数据分别定义getter和setter
    • 覆盖(Override)toString方法,返回书的描述信息
    • 覆盖equals方法,说明两本书是否一样
    • 创建测试类Bookshelf

    核心代码

    public class Book {
        private String bookname;
        private String writer;
        private String publishing;
        private String publishingdate;
    
        //定义getter
        public String getBookname() {//返回书名
            return bookname;
        }
        public String getWriter() {//返回作者
            return writer;
        }
        public String getPublishing() {//返回出版社
            return publishing;
        }
        public String getPublishingdate() {//返回出版日期
            return publishingdate;
        }
        
        //定义setter
        public void setBookname(String bookname) {
            this.bookname = bookname;
        }
        public void setWriter(String writer) {
            this.writer = writer;
        }
        public void setPublishing(String publishing) {
            this.publishing = publishing;
        }
        public void setpublishingdate(String publishingdate) {
            this.publishingdate = publishingdate;
        }
    
        //注入string属性
        public Book(String bookname, String writer, String publishing, String publishingdate) {
            this.bookname = bookname;
            this.writer = writer;
            this.publishing = publishing;
            this.publishingdate = publishingdate;
        }
    
        //覆盖toString方法
        public void toString(Book book) {
            System.out.println("bookname:"+book.getBookname());
            System.out.println("writer:"+book.getWriter());
            System.out.println("publishing:"+book.getPublishing());
            System.out.println("publishingdate:"+book.getPublishingdate());
        }
    
        //覆盖equals方法
        public boolean equals(Object o) {//比较两本书是否一致,一致返回true,反之返回false
            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 (writer != null ? !writer.equals(book.writer) : book.writer != null)
                return false;
            if (publishing != null ? !publishing.equals(book.publishing) : book.publishing != null)
                return false;
            return publishingdate != null ? publishingdate.equals(book.publishingdate) : book.publishingdate == null;
        }
    }

    运行截图

    代码托管(https://gitee.com/zxjacdl/zxj175221/tree/master/ldy)

    参考资料:

    Object o 与 Object o = null 的区别(https://zhidao.baidu.com/question/124299247.html)

    java 中覆盖 equals() 方法 (https://blog.csdn.net/weixiankui1997/article/details/79436392)

    java中getClass()方法简介 (https://blog.csdn.net/expect521/article/details/79139829)

  • 相关阅读:
    Asp.net如何连接SQL Server2000数据库
    是男人,都可以看看这个
    体验Flash MX(8):控制时钟Timer
    好代码
    sql 大数据量插入优化
    Xcode 真机程序发布测试
    Xcode 真机程序发布测试
    用git备份代码
    sql 大数据量插入优化
    UIView学习笔记
  • 原文地址:https://www.cnblogs.com/zxja/p/10667440.html
Copyright © 2011-2022 走看看