相关疑难解决方法(0)

"非静态方法无法从静态上下文中引用"背后的原因是什么?

非常常见的初学者错误是当您尝试"静态"使用类属性而不创建该类的实例时.它会留下您提到的错误消息:

您可以将非静态方法设为静态,也可以使该类的实例使用其属性.

为什么?我不是要求解决方案.我很高兴知道它背后的原因是什么.核心原因!

private java.util.List<String> someMethod(){
    /* Some Code */
    return someList;            
}

public static void main(String[] strArgs){          
     // The following statement causes the error. You know why..
    java.util.List<String> someList = someMethod();         
}
Run Code Online (Sandbox Code Playgroud)

java static

259
推荐指数
7
解决办法
61万
查看次数

为什么我得到"无法从静态上下文引用的非静态变量"?

我有一个非常简单的类,我想用它作为另一个的子类.但当我把它的代码放在父类的时候,我得到:

非静态变量,不能从静态上下文引用

另一方面,当我把子GenTest类的类代码放在"父级"类代码之外时 - JavaApp1我没有得到这个错误.

public class JavaApp1 {

    class GenTest {  
        @Deprecated
        void oldFunction() {
            System.out.println("don't use that");
        }
        void newFunction() {
            System.out.println("That's ok.");
        }
    }

    public static void main(String[] args) {
        GenTest x = new GenTest();
        x.oldFunction();
        x.newFunction();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

java compiler-errors subclass non-static

15
推荐指数
1
解决办法
6361
查看次数

java:非静态变量无法从静态上下文引用Error

下面的代码在变量上生成一个错误,上面con2写着 "non-static variable con2 cannot be referenced from a static context Error."我用Google搜索解决方案,并且他们建议变量未初始化以使方法可用.我错误地初始化了吗?我也尝试过把事情公之于众,但这也无济于事.

import java.io.*;
import java.net.*;

import java.sql.*;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import net.sourceforge.jtds.jdbcx.JtdsDataSource;
import net.sourceforge.jtds.jdbc.Driver;

class testconnect { 

     private java.sql.Connection con2 = null;

     private final String url2 = "jdbc:jtds:sqlserver://";
     private final String serverName= "SQL01";
     private final String portNumber = "2677";
     private final String databaseName= "App";
     private final String userName = "bob";
     private final String password = "boob";
     private final String selectMethod = "cursor";  

     private …
Run Code Online (Sandbox Code Playgroud)

java jtds

8
推荐指数
4
解决办法
11万
查看次数

标签 统计

java ×3

compiler-errors ×1

jtds ×1

non-static ×1

static ×1

subclass ×1