首页 > 其他 > 详细

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

时间:2019-03-25 17:05:26      阅读:164      评论:0      收藏:0      [点我收藏+]

今天测试代码时遇到

  • 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";
    }
}

 

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

原文:https://www.cnblogs.com/lipohong/p/10594600.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!