建立一个自定义类的ArrayList数组,但是添加元素时发现后面添加的元素会让所有元素都变了,为什么会这样呢,哪位大神能解释一下?要怎么做才能不这样呢?代码如下:
import java.util.ArrayList;
class T1 {
T1(){
}
public static void main(String[] args) {
ArrayList<Txt> txt = new ArrayList<Txt>();
Txt first = new Txt();
first.setTxt("菜品名",0.0);
txt.add(first);
Txt secound = new Txt();
secound.setTxt("ss",2.3);
txt.add(secound);
Txt a = new Txt();
for (int i = 0;i < txt.size() ;i++ ) {
System.out.print(i + 1 + "----");
a = txt.get(i);
a.showTxt();
}
}
}
class Txt {
Txt(){
}
private static String name;
private static double price;
//成员方法,用于设置菜品
public static void setTxt(String n,double p){
name = n;
price = p;
}
//成员方法,用于显示菜品
public static void showTxt(){
System.out.println(name + "----" + price);
}
//成员方法setName,用于设置菜品名称
public static void setName(String n){
name = n;
}
//成员方法getName,用于获取菜品名称
public static String getName(){
return name;
}
//成员方法setPrice,用于设置菜品价格
public static void setPrice(double p){
price = p;
}
//成员方法getPrice,用于获取菜品价格
public static double getPrice(){
return price;
}
}
|
|