java郁闷问题?

java010 2007-12-10 09:31:10
public class ObjectDemo1
{
//声明三个Employee类的对象
Employee e1;
Employee e2;
Employee e3 = new Employee("Xu Guang Yang",1500.00,"2006/05/20");;

public ObjectDemo1()
{
//使用Employee类的构造方法,创建类的对象
e1 = new Employee();
e2 = new Employee("Wang Xiao Yue",3000.00,"2005/05/20");
}

public static void main(String[] args)
{
new ObjectDemo1(); //创建主类的对象
}
}

class Employee //自定义雇员类
{
private String name; //雇员姓名
private double salary; //雇员薪水
private String hireDay; //雇员入职时间

public Employee() //无参数的构造方法
{
name = "admin";
salary = 1000.00;
hireDay = "2005/01/01";
System.out.println("Object create success");
}

//含有参数的构造方法
public Employee(String name,double salary,String hireDay)
{
this.name = name;
this.salary = salary;
this.hireDay = hireDay;
System.out.println("Object create success");
}
}

,这句话怎么会输出三个Object create success,我的理解应该是两个才对啊?
new ObjectDemo1(); 后,输出e1和e2后调用的两个Object create success,并没有调用e3的啊,怎么也输出了e3的啊?谢谢
...全文
109 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaostring 2007-12-14
  • 打赏
  • 举报
回复
12 楼 正解
Zero2One 2007-12-12
  • 打赏
  • 举报
回复
楼主,执行顺搞清楚了么?ObjectDemo1这个方法如何执行的,明白了就知道了。main方法—初始化成员变量—构造方法...
胡矣 2007-12-12
  • 打赏
  • 举报
回复
JF攒人品.
胡矣 2007-12-12
  • 打赏
  • 举报
回复
JF攒人品.
胡矣 2007-12-12
  • 打赏
  • 举报
回复
明白了好啊 那就结了吧
胡矣 2007-12-11
  • 打赏
  • 举报
回复
是三个,你设置一个断点,跟踪一下就明白了.
java010 2007-12-11
  • 打赏
  • 举报
回复
谢谢大家的热心,我终于明白了
java010 2007-12-10
  • 打赏
  • 举报
回复
不知道那位说的准确啊
FredWorks 2007-12-10
  • 打赏
  • 举报
回复
如果这样你都不懂,建议回头看看Java的基础教程
java010 2007-12-10
  • 打赏
  • 举报
回复
还是不太懂啊,朋友们?
编程一生 2007-12-10
  • 打赏
  • 举报
回复
初始化的对象是会在类一被调用就执行的。
FredWorks 2007-12-10
  • 打赏
  • 举报
回复
是三个啊。
Employee e3 = new Employee("Xu Guang Yang",1500.00,"2006/05/20"); //它会产生一个。
e1 = new Employee(); //这句代码会产生一个
e2 = new Employee("Wang Xiao Yue",3000.00,"2005/05/20"); //它会产生一个

对于e3这种直接在声明的时候初始化的对象,编译的时候会被合并到构造函数里面

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧