我有这个人类与一些方法来添加,删除和查看你的朋友。出于某种原因,当我想要查看我的朋友时,尽管我认为我以正确的方式调用了正确的方法,但无论方法调用中的对象规范如何,都会打印最后一个Person对象(它是carl)。问题是什么?正在打印的最后一个对象无论如何
这里是代码:
package person;
public class Person {
private static String name;
private static String friends;
public static void main(String[] args) {
Person ted = new Person ("ted");
Person jim = new Person ("jim");
Person todd = new Person ("todd");
Person tom = new Person ("tom");
Person carl = new Person ("carl");
// apparently I'm making a mistake here...
jim.addFriend(zack);
System.out.println(jim.getFriends());
}
public Person (String aName) {
name = aName;
friends = "";
}
public static void addFriend(Person friend) {
friends = friends + friend.name + " ";
}
public static void unFriend (Person nonFriend) {
friends = friends.replace(nonFriend.name + " ", "");
}
public static String getFriends() {
return friends;
}
}
改变方法,因为他们是'static'尝试移除。 'Static'几乎意味着对于该类创建的所有实例都是一样的。 – 3kings
删除除main之外的所有静态。一个静态字段将只存在一次,是类对象的字段,并且可以执行'Person.name =“any”;' –
谢谢!那是它 – zamzam