0
点赞
收藏
分享

微信扫一扫

无法从 static 上下文引用非 static 方法 ‘updateByPrimaryKey(T, boolean)‘

笑望叔叔 2022-03-30 阅读 61
javaspring

无法从 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();

        }

   }

以上程序也可以实现相同的功能。

举报

相关推荐

0 条评论