JAVA定义一个book类(代表教材),具有属性名称(title)与页数(pageNum),要求如下:一对类进行封装属性私有化,并提供公开的get、set方法,其中要求页数不能少于200页,否则输出"错误信息",2提供无参数和有参数的构造方法,3创建对象并为属性赋值
时间: 2024-10-17 18:12:00 浏览: 67
在Java中,你可以按照以下步骤定义一个`Book`类:
```java
public class Book {
// 封装属性,将title和pageNum设为private,以保护数据安全
private String title;
private int pageNum;
// 构造方法,无参构造用于初始化默认值,带参数构造用于接受外部传递的数据
public Book() {
this.title = "";
this.pageNum = 200; // 默认页数不能低于200
}
public Book(String title, int pageNum) {
if (pageNum >= 200) {
this.title = title;
this.pageNum = pageNum;
} else {
System.out.println("错误信息:页数不能少于200页");
}
}
// 公开的getter方法获取属性
public String getTitle() {
return title;
}
public int getPageNum() {
return pageNum;
}
// 公开的setter方法设置属性
public void setTitle(String title) {
this.title = title;
}
public void setPageNum(int pageNum) {
if (pageNum >= 200) {
this.pageNum = pageNum;
} else {
throw new IllegalArgumentException("页数不能少于200页");
}
}
}
```
现在你可以使用这个类创建对象并赋值:
```java
// 使用无参构造
Book bookWithoutParams = new Book();
bookWithoutParams.setTitle("计算机基础教程");
System.out.println("书名:" + bookWithoutParams.getTitle());
System.out.println("页数:" + bookWithoutParams.getPageNum());
// 使用带参数构造
Book bookWithParams = new Book("Java编程实战", 500);
System.out.println("书名:" + bookWithParams.getTitle());
System.out.println("页数:" + bookWithParams.getPageNum());
```
请注意,如果尝试设置的页数小于200,`setPageNum`方法会抛出异常。
阅读全文