Java初级代码封装(setter and getter、安全控制叠加递归即时修改)

文章描述了一个Java编程任务,涉及创建一个Book类,包含名称和页数属性,确保页数不小于200,并提供了setter和getter方法。如果页数输入小于200,程序会提示用户重新输入,最终通过BookTest类进行测试。
摘要由CSDN通过智能技术生成

请通过代码封装,实现如下需求:

编写一个类Book,代表教材:	
1.具有属性:名称(title)、页数(pageNum)
2.其中页数不能少于200页,否则输出错误信息,并赋予默认值200
3.为各属性提供赋值和取值方法
4.具有方法:detail,用来在控制台输出每本教材的名称和页数
5.编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确
代码

Book.Class

public class Book {
    //私有书本名称属性
    private String title;
    //私有页码属性,并初始化页数。
    private int pageNum=200;
   //无参数构造方法。
    public Book(){

    }
    //setter and getter
    public void setTitle(String title){
        this.title=title;
    }
    public String getTitle(){
        return title;
    }
    //setter可执行安全控制,此处用递归实现页码错误的即时修改。
    public void setPageNum(int pageNum){
        this.pageNum=pageNum;
        if (pageNum<200){
            System.out.println("页数有误不能小于200,请重新输入");
            java.util.Scanner s =new java.util.Scanner(System.in);
            int pg=s.nextInt();
            setPageNum(pg);
        }
    }

    public int getPageNum() {
        return pageNum;
    }
    //detail方法,实现输出书本参数结果。
    public void detail(){
        System.out.println("书本名称:"+getTitle());
        System.out.println("书本页数:"+getPageNum());
    }
}

BookTest.Class

public class BookTest {
    public static void main(String[] args) {
        Book b=new Book();
        b.setTitle("孙子兵法");
        //b.setPageNum(300);
        b.setPageNum(150);
        b.detail();
    }
}

运行结果
页数有误不能小于200,请重新输入
100
页数有误不能小于200,请重新输入
200
书本名称:孙子兵法
书本页数:200

Process finished with exit code 0

总结

private的封装,只能在本类中访问。通过setter和getter进行设置和读取,并且在通过setter进行设置时候,可以执行安全控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值