Java 不管打印的最后一个对象是什么
我有一个Person类,其中包含一些添加、删除和查看朋友的方法。出于某种原因,当我想查看我的朋友时,即使我认为我以正确的方式调用了正确的方法,最后一个人对象(即carl)也会被打印出来,而不管方法调用中的对象规格如何。有什么问题 代码如下:Java 不管打印的最后一个对象是什么,java,Java,我有一个Person类,其中包含一些添加、删除和查看朋友的方法。出于某种原因,当我想查看我的朋友时,即使我认为我以正确的方式调用了正确的方法,最后一个人对象(即carl)也会被打印出来,而不管方法调用中的对象规格如何。有什么问题 代码如下: package person; public class Person { private static String name; private static String friends; public static void
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;
}
}
您正在使用静态变量。请试试这个
package person;
public class Person {
private String name;
private 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 void addFriend(Person friend) {
friends = friends + friend.name + " ";
}
public void unFriend (Person nonFriend) {
friends = friends.replace(nonFriend.name + " ", "");
}
public String getFriends () {
return friends;
}
}
您正在使用静态变量。请试试这个
package person;
public class Person {
private String name;
private 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 void addFriend(Person friend) {
friends = friends + friend.name + " ";
}
public void unFriend (Person nonFriend) {
friends = friends.replace(nonFriend.name + " ", "");
}
public String getFriends () {
return friends;
}
}
制造
到
也可以通过删除静态
来更改方法
public void addFriend(Person friend) {
friends = friends + friend.name + " ";
}
public void unFriend (Person nonFriend) {
friends = friends.replace(nonFriend.name + " ", "");
}
public String getFriends () {
return friends;
}
制造
到
也可以通过删除静态
来更改方法
public void addFriend(Person friend) {
friends = friends + friend.name + " ";
}
public void unFriend (Person nonFriend) {
friends = friends.replace(nonFriend.name + " ", "");
}
public String getFriends () {
return friends;
}
因为它们是
静态的
请尝试删除它<代码>静态几乎意味着该类创建的所有实例都是相同的。删除除main之外的所有静态。静态字段只存在一次,是类对象的字段,可以执行Person.name=“any”代码>相关:因为它们是静态的
尝试删除它<代码>静态
几乎意味着该类创建的所有实例都是相同的。删除除main之外的所有静态。静态字段只存在一次,是类对象的字段,可以执行Person.name=“any”代码>相关: