您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

java:不能从静态上下文中引用非静态变量错误

java:不能从静态上下文中引用非静态变量错误

不,实际上,你必须声明con2字段为静态:

private static java.sql.Connection con2 = null;

编辑:更正,实际上是远远不够的,你将遇到相同的问题,因为getConnection2Url方法也不是静态的。更好的解决方案可能是改为进行以下更改:

 public static void main (String[] args) { 
     new testconnect().run();
 } 

 public void run() {
     con2 = java.sql.DriverManager.getConnection(getConnectionUrl2());
 }

你可能想在con2的声明中添加“ static”。

在Java中,事物(变量和方法)都可以是类的属性(这意味着它们被该类型的所有对象共享),也可以是对象的属性(同一类的每个对象中的对象都不相同) )。关键字“静态”用于指示某物是类的属性

“静态”东西一直存在。其他东西只有在创建对象后才存在,即使每个单独的对象都有它自己的东西副本。在这种情况下,它的另一面很关键:静态内容无法访问非静态内容,因为它不知道要查找的对象。如果将其传递给对象引用,它可以完成类似“ thingie”的任务.con2”,但不允许简单地说“ con2”,因为你尚未说出哪个对象的con2是什么意思。

java 2022/1/1 18:18:57 有466人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶