package ch9;public class Employee { String str;
public Employee(){
System.out.println("Employee...");
}
public Employee (String str){
System.out.println(str);
}
}======================================================
package ch9;public class TextEmployee { public static void main(String[] args) {
String textStr = "123"; Employee t = new Employee(textStr);
Employee[] e = new Employee[10];
for (int i = 0; i < e.length; i++)
e[i] = new Employee("123");
for (int i = 0; i < e.length; i++)
e[i] = t; }
}为什么我第二个for不能输出 10个"123" 结里只输出了一个"123"
请问:对象是怎么赋值的? 这里T是对象 e[i]也是对象 为什么只赋了一次 ???我是新手请大哥大姐帮忙~~~~
public Employee(){
System.out.println("Employee...");
}
public Employee (String str){
System.out.println(str);
}
}======================================================
package ch9;public class TextEmployee { public static void main(String[] args) {
String textStr = "123"; Employee t = new Employee(textStr);
Employee[] e = new Employee[10];
for (int i = 0; i < e.length; i++)
e[i] = new Employee("123");
for (int i = 0; i < e.length; i++)
e[i] = t; }
}为什么我第二个for不能输出 10个"123" 结里只输出了一个"123"
请问:对象是怎么赋值的? 这里T是对象 e[i]也是对象 为什么只赋了一次 ???我是新手请大哥大姐帮忙~~~~
Employee t = new Employee(textStr);第一个for输出10个"123"
一共输出11个"123"第二个for没有输出
这句代码new了一个Employee对象,所以这一行输出一个123;for (int i = 0; i < e.length; i++)
e[i] = new Employee("123");
这个循环new了10个Employee对象,所以这一段输出10个123;for (int i = 0; i < e.length; i++)
e[i] = t;
而这里没有new任何对象,而只是把Employee t = new Employee(textStr);这一句new 出的对象t的引用赋值给了数组,而t已经是存在的对象,在赋值的过程中没有执行构造函数,所以这一段不输出任何内容;而不是你所说的输出一个123,是根本没有输出内容。
不过 e[i] = t; 这个语句做了什么??? 把t指向对象的地址赋给e[i]了吗??
√一个新手向各位高手问一个关于servlet的问题!望帮助一下!(cqhcl) 20 7 7-14 22:12 管理 ----后边有个管理,从这进去给分!