大家帮我看看这个class
最近学习jsp碰到这么一个bean的例子,突然发现自己对基础还不是很了解.import java.util.Map;
import java.util.HashMap;
import java.util.TreeMap;
public class Questions{
private String topic;
private int numQuestions;
private Map questions = new HashMap();
public String getTopic(){
return topic;
}
public void setTopic(String t){
topic = t;
setNumQuestions(getQuestions().size());
}
public int getNumQuestions(){
return numQuestions;
}
public void setNumQuestions(int n){
numQuestions = n;
}
public Map getQuestions(){
return (Map)questions.get(topic);
}
public void setQuestions(Map m){
questions = m;
}
public Questions(){
Map topic = new TreeMap();
topic.put( "EL_1 ", "EL_1...... ");
topic.put( "EL_2 ", "EL_2...... ");
topic.put( "EL_3 ", "EL_3...... ");
questions.put( "EL ",topic);
}
}
就上面这个class,我的问题是:
1在类constructor中的定义一个变量(如topic),和private private int numQuestions这样在类中定义的变量,他们的作用域是一样的吗?都是整个类吗?
2还有就是这个例子,constructor里边和前面定义的变量基本没有关系,是不是为了达到这样的目的:程序可以无参数初始化实例,然后先赋值再取值(如string topic)?
3就是感觉这个类有点怪,不知道这个例子是不是好的程序习惯?
------解决方案--------------------1.constructor不是,类中定义的变量是
2.不是给questions值了么?
3.不好,类变量最好不要和local变量重名,容易缺乏可读性