初学者,刚刚接触Java,请问个问题。
我有如下这个类:public class People {
public String name;
public int age;
People(){
name = "";
age = 0;
}
}假如,我现在想在这个类中添加一个方法,是获得一个人类的实例,请问可以有几种写法?
我有如下这个类:public class People {
public String name;
public int age;
People(){
name = "";
age = 0;
}
}假如,我现在想在这个类中添加一个方法,是获得一个人类的实例,请问可以有几种写法?
解决方案 »
- 如何用xsl转xml文件,java代码怎么写
- 菜鸟求解答……
- 一个简单领域模型的设计问题,是不是要用到设计模式
- jar包批处理包引入问题
- 有什么原因使所有的action失效?
- HIBERNATE 3 .0 查询select 视图(含有虚拟列)后 自动 update 如何禁止
- 请问各位大哥关于java web图表的论文该怎么写
- hibernate问题,这个类的映射文件应该怎么写(十万火急在线等答案)
- 用ajax提交一个到action的表单,跳转到页面后没有新增数据
- 上班了,散分!
- 关于struts2文件上传出现java.io.FileNotFoundException异常的解决办法
- 求助:mysql服务无法启动,1067错误,请大侠出手相助
一种是单例的,即每次只能获得同样的类的实例 private static People instance = null;
public static People getInstance() {
if (instance == null) {
instance = new People (); }
return instance;
}使用时People people = People.getInstance();
如果是多例 public static People newInstance() {
return new People ();
}
使用时People people = People.newInstance();
如果楼主是想不让别人在外面new的话,可以把构造函数换成private的。
还有楼主如果想问这样做和new有什么不一样,或者好处的话。可以baidu 工厂模式。
public class People {
public String name;
public int age;
People(){
name = "";
age = 0;
}
public People getPeople(String name){
//这个是通过人名获得人
People p = new People();
//去数据库里查人名,得到人的属性,然后赋值
p.name = "数据库中的人名";
......
//最后返回这个人
return p;
}
}
public staitc People getByName(String name){
People p = new People();
p.name = name;
return p;
}
是要这个吗?
不加static,就不是静态函数而是成员函数,也就意味着只能先new这个对象,才能调用。所以是否需要static关键还在于函数是用来干什么的,是需求和设计所决定的。
此外,用static声明的成员变量,不存在无法修改的说法,这个理解有偏差;不可修改是 final 。