提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
题目:
任务:实现图书类,该类包含了图书的基本属性和信息。
相关知识
Java 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
访问控制符是一组限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。类的访问控制符只能是空或者 public,方法和属性的访问控制符有 4 个,分别是 public、 private、protected 和 default,其中 default 是一种没有定义专门的访问控制符的默认情况。
我们可以通过下表来说明访问权限:
修饰符 | 当前类 | 同一包内 | 子孙类(同一包) | 子孙类(不同包) | 其他包 |
---|---|---|---|---|---|
public | Y | Y | Y | Y | Y |
protected | Y | Y | Y | Y/N(说明) | N |
default | Y | Y | Y | N | N |
private | Y | N | N | N | N |
访问控制存在的原因:
- 让客户端程序员无法触及他们不应该触及的部分;
- 允许库设计者改变类内部的工作方式而不用担心会影响到客户端程序员。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
代码:
Book.java文件
;/**
* 任务:实现图书类,该类包含了图书的基本属性和信息。
* 类名为:Book
*/
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
public class Book {
// 定义四个私有变量
// 图书名称(bookName String)
// 图书单价(price double)
// 图书库存(total int)
// 图书id(bookId int)
private String bookName;
private double price;
private int total;
private int bookId;
// 获取图书名称
public String getBookName() {
return bookName;
}
// 设置图书名称
public void setBookName(String bookName) {
this. bookName= bookName;
}
// 获取图书单价
public double getPrice() {
return price;
}
// 设置图书单价
public void setPrice(double price) {
this.price=price;
}
// 获取图书库存
public int getTotal() {
return total;
}
// 设置图书库存
public void setTotal(int total) {
this.total=total;
}
// 获取图书id
public int getBookId() {
return bookId;
}
// 设置图书id
public void setBookId(int bookId) {
this.bookId=bookId;
}
}
/********** End **********/
Demo.java文件
public class Demo {
public static void main(String[] args) {
Book book = new Book();
book.setBookId(1);
book.setBookName("射雕侠侣");
book.setPrice(32.0);
book.setTotal(35941);
System.out.printf("图书编号:%d\n",book.getBookId());
System.out.printf("图书名称:%s\n",book.getBookName());
System.out.printf("图书单价:%.2f\n",book.getPrice());
System.out.printf("图书库存:%d",book.getTotal());
}
}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了Java类和对象之访问限制。