java - 如何解决此错误,无法从静态上下文引用非静态方法

标签 java methods non-static

这是代码

protected Void doInBackground(String... params) {
   String reg_url = "http://10.0.2.2/";
    String method = params [0];
    if (method.equals("register") ){
        String first_name = params [1];
        String last_name = params [2];
        String address = params [3];
        String email = params [4];
        String password = params [5];

        try {
            URL url = new URL(reg_url);
            HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
            HttpURLConnection.setRequestMethod("POST");
            HttpURLConnection.setDoOutput(True);

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    return null;
}

我在这两行上收到错误

HttpURLConnection.setRequestMethod("POST");
            HttpURLConnection.setDoOutput(True);

关于 set.RequestMethod("POST") 和 "setDoOutput(true); 错误表示无法从静态上下文引用非静态方法。 这一定是一个愚蠢的错误,但我就是无法弄清楚,所以有人可以帮我解决这个问题吗?

最佳答案

使用您在调用 openConnection 中获得的实例:

        HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
        httpURLConnection.setRequestMethod("POST");
        httpURLConnection.setDoOutput(true);

请注意,Java 区分大小写。 HttpURLConnection 是类名。 httpURLConnection 是一个引用该类实例的变量。

关于java - 如何解决此错误,无法从静态上下文引用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250756/

相关文章:

java - 如何将BST的所有数据存储到一个数组列表中?

java - 为什么在 HashMap 迭代期间,更改键/值对的值不会抛出 ConcurrentModificationException?

c# - 如何在其他类中使用方法?

java - Java中静态方法中调用非静态方法

java - 如何在java中将数组的一部分作为函数参数传递?

java - GWT Java - "getWidget()"已弃用 - 什么取代了它?

ruby - 为什么要在 Ruby 方法名称前加上 self?

python - python中一个类的提款方法

java - 解析日期并在 Java 中遇到 'static reference to the non-static method' 错误

java - 在非静态方法内调用没有类实例的非静态方法