欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【踩坑】报错 non-static method xxx() cannot be referenced from a static context

程序员文章站 2022-04-08 19:46:07
今天测试代码时遇到 Error:(6, 55) java: non-static method sayGoodbye() cannot be referenced from a static context 的报错,代码如下: 原因: 不能直接调用类变量和类方法。 解决方法一: 将方法改成类方法,如 ......

今天测试代码时遇到

  • error:(6, 55) java: non-static method saygoodbye() cannot be referenced from a static context

的报错,代码如下:

public class helloworld {
    public static void main(string[] args) {
        system.out.println("greeting: " + goodbyeworld.saygoodbye());
    }
}
class goodbyeworld {
    public string saygoodbye() {
        return "goodbye";
    }
}

原因:

不能直接调用类变量和类方法。

解决方法一:

将方法改成类方法,如下:

public class helloworld {
    public static void main(string[] args) {
        system.out.println("greeting: " + goodbyeworld.saygoodbye());
    }
}
class goodbyeworld {
    public string static saygoodbye() {
        return "goodbye";
    }
}

解决方法二:

生成实例,调用实例中的非静态方法,如下:

public class helloworld {
    public static void main(string[] args) {
        goodbyeworld greeting = new goodbyeworld();
        system.out.println("greeting: " + greeting.saygoodbye());
    }
}
class goodbyeworld {
    public string saygoodbye() {
        return "goodbye";
    }
}