黑马程序员技术交流社区

标题: javabean赋默认值 [打印本页]

作者: 严海荣    时间: 2013-1-2 09:18
标题: javabean赋默认值
本帖最后由 严海荣 于 2013-1-2 20:43 编辑

import java.util.*;
class bean{
      private ArrayList  list = new ArrayList();//这里可以这样么?
      private String name ;//赋默认值 直接在这里吗String name="zhangsan";?
      private int age;
      public ArrayList getList() {
  return list;
}
public void setList(ArrayList list) {
  this.list = list;

      public String getName() {
           return name;
}
      public void setName(String name) {
           this.name = name;
}
       public int getAge() {
           return age;
}
       public void setAge(int age) {
           this.age = age;
}
}


作者: 郝福明    时间: 2013-1-2 09:44
private ArrayList  list = new ArrayList();//这里可以这样么?可以,你也可以用泛型ArrayList<?>list= new ArrayList<?>();的方式,但是javabean建议不要这么写
因为list并不是bean类的一个属性,而且ArrayList<>list=new ArrayList<>();最好写成List<>List=new ArrayList<>();
private String name ;//赋默认值 直接在这里吗String name="zhangsan";?这边是这么默认的
作者: 严海荣    时间: 2013-1-2 11:09
郝福明 发表于 2013-1-2 09:44
private ArrayList  list = new ArrayList();//这里可以这样么?可以,你也可以用泛型ArrayListlist= new A ...

javabean的规范是属性私有化,通过set/get设置获取值,那么是不是不太符合要求啊,
如果在构造函数中给初始化值,这样算不算?

class bean{
private String name;
bean(){
      String name = "zhangsan";
}
public String getName() {
           return name;
}
      public void setName(String name) {
           this.name = name;
}
}
作者: 郝福明    时间: 2013-1-2 11:16
两种方式都可以,但是如果是私有化的话不应该在private String name="";这里设置默认值么
作者: 彭昆    时间: 2013-1-2 19:48
public void setName(String name) {
            if(name==null||name.length<0){
                 this.name="zhangsan";
            }else{
            this.name = name;
          }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2