阅读以下说明和Java程序,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】 :
以下Java代码实现一个简单的聊天室系统(ChatRoomSystem),多个用户(User)可以向聊天室( ChatRoom)发送消息,聊天室将消息展示给所有用户。类图如图5-1所示。

【Java代码】
class ChatRoom {
public static void showMessage(User user, String message) {
System.out.println("[" + user.getName() + "] : " + message);
}
}
class User{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(String name) {
(1) =name;
}
public void sendMessage(String message) {
(2) (this, message);
}
}
public class ChatRoomSystem {
public void startup() {
User zhang= new User("John");
User li =new User("Leo");
zhang.sendMessage("Hi! Leo! ");
Li.sendMessage("Hi! John!");
}
public void join(User user) {
(3) ("Hello Everyone! I am" + user.getName());
}
public static void main(String[] args) {
ChatRoomSystem crs= (4) ;
Crs.startup();
Crs.join( (5) (“Wayne”));
}
}
/*
程序运行结果:
[John]:Hi! Leo!
[Leo]:Hi! John!
[Wayne]:Hello Everyone! I am Wayne
*/
正确答案及解析
正确答案
解析
1、this.name
2、ChatRoom.showMessage
3、user.sendMessage
4、new ChatRoomSystem()
5、new User
本题考查java程序基本知识,涉及到类的定义,方法调用及封装等。
第1处填this.name,User类中定义了一个私有变量name,及两个属性getName,setName。
一个构造方法User(String name),因为构造方法中的参数名与变量同名,所以要加this区别,因此第1处填this.name,第2处定义了一个方法sendMessage,此处要调用ChatRoom类中的showMessage方法,传递两个参数,以实现某个人说了某句话,所以第2处填ChatRoom.showMessage,另外类ChatRoomSystem定义了方法join,传入一个User类型的用户变量user,此处必须调用User类中的sendMessage方法,第3处填user.sendMessage,第4处是实例化ChatRoomSystem类,并赋给变量crs,所以第4处填new ChatRoomSystem(),第5处是调用ChatRoomSystem类的join方法,要求传入一个User类型的变量,而User类有个构造方法,要求有初始值,所以第5处填写New User。





