更改上面的代码,visibily of book is private
时间: 2024-02-11 15:07:35 浏览: 58
下面是根据更改要求编写的Java代码:
```
public class User {
protected String name;
private int book;
public User(String name, int book) {
this.name = name;
setBook(book);
}
public String getName() {
return name;
}
public int getBook() {
return book;
}
public void setBook(int book) {
this.book = book;
}
}
public class Lender extends User {
public Lender(String name, int booksLent) {
super(name, -booksLent);
}
public void moreBook(int booksLent) {
setBook(getBook() - booksLent);
}
}
```
在这个代码中,我们将 User 类中的 book 声明为 private,这意味着只有 User 类自己的方法才能访问该变量,而不能被 Lender 类直接访问。因此,我们需要在 User 类中添加一个公共的 setBook 方法,用于设置 book 变量的值。在 Lender 类中,我们使用 User 类的 getBook 和 setBook 方法来获取和更新 book 变量的值,以实现更改 book 变量的可见性。
阅读全文