类的对象属性如何初始化?

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:43:40
public class Employee {
private Integer eid;
private Company com;
//private Company com = new Company(); 1
public Employee( Company com ) { this.com = com; } //2
public void setCom( Company com ) { this.com = com; } //3
}
//这三种方式应该选择哪一种呢?是根据类间关系的不同而定吗还是哪一种都可以呢?
//还有, 聚合关系与关联关系到底要不要区别呢?不同人看法不同。聚合关系还是组合
//关系在代码上能看出来吗?是由Company这个类是否拥有oid来决定的吗?如果Company
//没有持久化,则认为Company与Employee是组合关系对吗?

public class Employee {
private Integer eid;
private Company com;
private Company com = new Company(); 1显然不对
public Employee( Company com ) { this.com = com; } //2这个可以但是不是你得需求。。。
public void setCom( Company com ) { this.com = com; } //3这个是给外边的实例设置com用的
你显然是想要new一个Company实例。但你的理解错了。
第一个重复定义类型的错误,应该是com=new Company();
第二个是Employee的构造方法,是给别人new Employee(com)用的
第三个是Employee的seter属性方法,也是给别人设置他的实例中的com属性时用的

总之你的理解错误太多。。正确的例子给你一个:
public class Employee {
private Integer eid;
private Company com;
com = new Company();}}//这就是初始化一个Company类的com变量

要在类中实例对象,只能
(1)private Company com=new Company();
(2)private Company com;
com = new Company();