无法从 static 上下文引用非 static 方法 ‘updateByPrimaryKey(T, boolean)‘
Posted Roam-G
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从 static 上下文引用非 static 方法 ‘updateByPrimaryKey(T, boolean)‘相关的知识,希望对你有一定的参考价值。
无法从 static 上下文引用非 static 方法 'updateByPrimaryKey(T, boolean)'
关键 我这也没有 static上下文呀
而且 ,在另一个文件中同样写法,就不报错。
真是奇怪了。
···
import java.awt.Point;
class rectangle
int x1=0;
int y1=0;
int x2=0;
int y2=0;
rectangle point(int x,int y,int z,int w)
x1= x;
y1= y;
x2= z;
y2= w;
return this;
public static void main(String[] args)
rectangle experiment = new rectangle();
experiment.point(1,2,3,4);
System.out.print(x1+" "+y1+" "+x2+" "+y2);
上述代码运行时:
· 报错!无法从静态上下文中引用非静态 变量,原因是:静态主方法只能访问静态变量;
如果要访问动态变量,必须将动态变量实例化。
import java.awt.Point;
class rectangle
int x1=0;
int y1=0;
int x2=0;
int y2=0;
rectangle point(int x,int y,int z,int w)
x1= x;
y1= y;
x2= z;
y2= w;
return this;
public static void main(String[] args)
rectangle experiment = new rectangle();
experiment.point(1,2,3,4);
System.out.print(experiment.x1+" "+experiment.y1+" "+experiment.x2+" "+experiment.y2);
以上程序运行正确。
说白了,就是在JAVA程序中,除了主静态方法以及类方法之外,其他在该类下定义的实例变量、实例方法,在主类方法中调用时必须要将其实例化,说白了就是要加上对象的引用:
比如: 某个对象.变量
某个对象.方法
import java.awt.Point;
class rectangle
int x1=0;
int y1=0;
int x2=0;
int y2=0;
rectangle point(int x,int y,int z,int w)
x1= x;
y1= y;
x2= z;
y2= w;
return this;
void printrectangle()
System.out.print(x1+" "+y1+" "+x2+" "+y2);
public static void main(String[] args)
rectangle experiment = new rectangle();
experiment.point(1,2,3,4);
experiment.printrectangle();
以上程序也可以实现相同的功能。
以上是关于无法从 static 上下文引用非 static 方法 ‘updateByPrimaryKey(T, boolean)‘的主要内容,如果未能解决你的问题,请参考以下文章