了解上节有关封装的知识后,本节通过完整的例子再次实现封装。要求编写表示图书的 Book 类,实现以下需求:

基本信息包括图书名称(bookName)、总页数(pagelbtalNum),其中页数不能少于 200 页,否则输出错误信息,并赋予默认值 200。

为各个属性设置赋值和取值方法。

具有 details() 方法,该方法在控制台输出每本图书的名称和总页数。

编写 BookTest 测试类,为 Book 对象的属性赋予初始值,并调用 details() 方法输出详细信息。根据上面的描述添加代码,步骤如下。

1)创建 Book 类,首先向该类添加 bookName 变量,并封装该变量。代码如下:

public class Book {

private String bookName; // 图书名称

public String getBookName() {

return bookName;

}

public void setBookName(String bookName) {

this.bookName = bookName;

}

}

2)在 Book 类中添加 bookTotalNum 变量,并封装该变量,在封装的 setter 方法中判断页数的值是否小于 200。代码如下:

private int bookTotalNum; // 图书总页数

public int getBookTotaiNum() {

return bookTotalNum;

}

public void setBookTotalNum(int bookTotalNum) {

if (bookTotalNum < 200) {

System.out.println(this.bookName + "这本书的页数不能少于 200 页");

this.bookTotalNum = 200;

} else {

this.bookTotalNum = bookTotalNum;

}

}

3)在 Book 类中添加公有的 details() 方法,输出图书的名称和总页数。代码如下:

public void details() {

System.out.println(this.bookName + "这本书的总页数是:" + this.bookTotalNum);

}

4)创建 BookTest 测试类,在该类的 main() 方法中创建 Book 类的两个实例对象,然后分别为类中的两个属性赋值,最后调用 details() 方法输出信息。代码如下:

public class BookTest {

public static void main(String[] args) {

Book book1 = new Book();

book1.setBookName("《红与黑》");

book1.setBookTotalNum(190);

book1.details();

System.out.println("************************************");

Book book2 = new Book();

book2.setBookName("《格林童话》");

book2.setBookTotalNum(520);

book2.details();

}

}

5)执行上述代码,输出结果如下:

《红与黑》这本书的页数不能少于 200 页

《红与黑》这本书的总页数是:200

************************************

《格林童话》这本书的总页数是:520

用java定义图书book类_Java封装图书信息类相关推荐

  1. java源程序可以有几个主类_Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。_学小易找答案...

    [填空题]分析以下程序的执行结果 #include using namespace std; class Sample { int x; int y; public: Sample(int a,int ...

  2. java中椭圆类_Java中的Graphics2D类基本使用的教程

    Java中的Graphics2D类基本使用的教程 Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能 ...

  3. java 面试什么是类_Java 面试题代码类收集

    long temp=(int)3.9; System.out.println(temp); temp%=2; System.out.println(temp); 3 1 View Code Java里 ...

  4. java中的祖先类_Java程序公共祖先类-Object

    在Java中,所有的类都继承自Object类,它是所有的始祖,但是我们不需要显示的书写extends Object. equals方法 在JDK中,Object类的equals方法的实现如下: pub ...

  5. java 由接口构造对象_Java学习笔记04——类和对象|抽象和接口|构造方法与继承...

    六.Java类 1.  Java中用关键字class来创建类. 2.  类中属性和方法称为类的成员;类的声明和方法要在同一个文件内,不同于C++. 3.  类的定义: [] class [extend ...

  6. java定义一个eat方法_Java继承概念详细解读

    继承与合成基本概念 继承:可以基于已经存在的类构造一个新类.继承已经存在的类就可以复用这些类的方法和域.在此基础上,可以添加新的方法和域,从而扩充了类的功能. 合成:在新类里创建原有的对象称为合成.这 ...

  7. java定义接口的关键字_Java中定义接口的关键字是什么?

    Java中定义接口的关键字是"interface"."interface"是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来装封一定功能的集合 ...

  8. java定义接口的方法_java定义接口的方法

    java定义接口的方法 发布时间:2020-06-28 13:50:49 来源:亿速云 阅读:103 作者:Leah 本篇文章为大家展示了java定义接口的方法,代码简明扼要并且容易理解,绝对能使你眼 ...

  9. java 对象重写equals方法_Java如何重写object类的equals方法详解

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...

最新文章

  1. php lang无效,详解 Go 中的不可变类型
  2. Centos6.3修改源码遇到无法yum安装的问题
  3. 记录uni-app弹框事件无生命周期问题;uni-popup-dialog打开触发事件;uni-popup-dialog调用接口时机
  4. mysql 多个密码登录_mysql 多实例登录密码测试
  5. linux 字符设备驱动cdev
  6. 金融数据分析与挖掘实战 4.2 Matplotlib(二)
  7. 数据结构上机实践第七周项目2 - 自建算法库——链队(链式队列)
  8. kdchxue讲解V9父栏目调用子栏目的办法
  9. 复旦sakai安装指南
  10. 初学python100例-案例23 python输出菱形图案 青少年python编程 少儿编程案例讲解
  11. Python自制成语接龙小游戏
  12. MSM8937-MSM8953 I2C 配置调试指南
  13. TMS320F280049C 学习笔记21 交叉开关 Crossbar (X-BAR)
  14. android studio Available qualifiers(可用资源限定符)笔记(待完善)
  15. oracle IF_Oracle实时同步大数据平台解决方案
  16. Pycharm新建文件时,如何设置自动添加作者时间等信息
  17. JPBC库应用之BLS签名
  18. U盘拷贝4G以上的文件(非格式化)
  19. 毁掉你的不是打工,是打工者思维
  20. Linux 5.16 稳定版将带来诸多功能更新

热门文章

  1. Text函数对转换日期,调整数值,条件判断的应用技巧
  2. 火影忍者新忍出击服务器正在维修,火影忍者手游更新公告 新忍出击资源翻倍...
  3. 更新应用程序安卓apk时出现解析程序包时出现问题
  4. 字符串函数的模拟实现
  5. 关于构建与优化数据仓库架构与模型设计
  6. php怎么判断qq内置浏览器,PHP判断是否是微信打开,浏览器打开的方法
  7. RFID固定资产管理系统全生命周期管理办公资产
  8. 我用python代码表白,泡到了大学小师妹
  9. 银盒子受邀出席银联云闪付大会,获“最佳行业合作”奖
  10. Java爬虫Jsoup爬取必应壁纸