定义一个 Book 类,有个数据成员 title 来记录书名。 定义两个构造方法:无参构造方法 一参构造方法实现: 如果用户没给书本赋书名,则书名为 notitle - x 。其中 x 是自动增加的。如第一本无名书,则书名为 notitle -1,第二本无名书,则书名为 notitl - 2.。。。 如果用户有给书本赋书名,则书名为用户赋的书名。如用户赋书名" Java 程序设计",则输出书名为" Java 程序设计
时间: 2023-05-23 14:02:55 浏览: 105
"。
下面是代码实现:
```
class Book {
private String title;
public Book() {
this.title = "notitle-" + BookManager.getInstance().getNextNoTitleIndex();
}
public Book(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
}
class BookManager {
private static BookManager instance = new BookManager();
private int noTitleIndex = 1;
private BookManager() {}
public static BookManager getInstance() {
return instance;
}
public int getNextNoTitleIndex() {
return noTitleIndex++;
}
}
```
对于无参构造方法,我们通过调用 BookManager 类的 getNextNoTitleIndex() 方法来自动增加书名的编号。在 BookManager 类中,我们使用单例模式来保证只有一个 BookManager 实例。
对于有参构造方法,则直接使用用户赋给的书名。
注意,BookManager.getInstance() 是获取 BookManager 实例的方法,但我们并没有在 BookManager 中实现这个方法,这是因为在 Java 中使用了单例模式的类通常会提供一个静态的 getInstance() 方法来获取实例。
阅读全文