静态方法......应该以静态方式访问

时间:2014-03-08 21:23:22

标签: java static

public class Main {
    public static void main(String[] args) {
        Person Gunnar = new Person();
        Person Sven = new Person();
        Dog Doggy = new Dog();
        Dog Doggi = new Dog();

        Gunnar.setName("Gunnar");
        Gunnar.setAge(20);
        Gunnar.setHeight(215);

        Sven.setName("Sven");
        Sven.setAge(55);
        Sven.setHeight(178);

        Sven.sayHello(Gunnar);
    }
}

Java希望我将SvenGunnar(两个Person对象的名称)更改为.setName行中的Person,因此它将是Person.setName("Gunnar");和{{1 }}。但是,这是行不通的,因为没有办法说明哪一个是哪个。如果我错了,请纠正我。也不要介意狗码。

这是Person类的代码:

Person.setName("Sven");

1 个答案:

答案 0 :(得分:3)

您正确地调用您的方法(从逻辑的角度来看)
但显然你已经错误地宣布了它们(作为静态) 通过删除静态修饰符使它们成为实例方法 这应该可以解决你的问题。并了解之间的区别 静态和实例方法(似乎你还没有)。

特别是getNamesetName不应该是静态的。