Cannot use this in a static context

在main函数中使用了this后,会提示出错。

原因是在main函数中不能使用this,main函数属于static,main中必须生成一个确定的对象来调用方法,凡是属于static的,this均不能用。

我想在main方法中执行 :URL url = this.getClass().getResource("/images/user.jpg"); 报错。

修改后:URL url = Test.class.getClassLoader().getClass().getResource("/images/user.jpg");

Test.class.getClassLoader().getClass()得到了一个实例,所以可以调用。

时间: 2024-12-29 06:40:19

Cannot use this in a static context的相关文章

报错cannot be referenced from a static context的解决方法

直接上代码图,后认识到main方法是一个static方法,class Clerk是一个非静态的内部类,只能被该类的非静态方法访问.否则会报错. 解决方法: 1.在class前加上static 2.将该类移出来. 原文地址:https://www.cnblogs.com/celtics-huha/p/12076203.html

java——static声明方法注意事项

在使用 static 类型声明的方法时需要注意的是:如果在类中声明了一 static类型的属性,则此属性既可以在非 static 类型的方法中使用,也可以在 static类型的方法中使用.但用 static 类型的属性调用非 static 类型的属性时,则会出现错误. 代码如下: public class PersonStatic { String name = "张三" ; static String city = "中国"; int age ; public P

java static块详解

1. java static块执行时机 java static块在类被初始化的时候被执行. 参考<深入Java虚拟机>中的描述,一个java class的生命周期: 装载 通过类的全限定名,产生一个代表该类型的二进制数据流: 解析这个二进制数据流为方法区内的数据结构: 创建一个表示该类型的java.lang.Class的实例. 如果一个类装载器在预先装载的时遇到缺失或错误的class文件,它需要等到程序首次主动使用该类时才报告错误. 连接 验证,确认类型符合Java语言的语义,检查各个类之间的

Java Modifiers, default/public/protected/private/ final/static/transient/synchronized/volatile

reference: http://www.studytonight.com/java/modifier-in-java.php Modifiers are keywords that are added to change meaning of a definition. In java, modfiers are cateogrized into two types: 1. Access control modifier 2. Non Access modifier 1) Access co

Java——static

[static] <1>static成员变量存储在内存data segment区域,不是存放在堆中. <2>静态成员变量属于整个类,任何一个对象都可以访问这个值:如果没有对象,可以用类访问,格式为:类.静态成员变量. [静态变量与非静态变量] 静态成员变量只存在一份(不论new多少个对象,也不管用不用到该变量,它属于整个类),存放在内存的数据区:非静态成员变量每new一个对象就产生一次,在内存的堆中. [Exception] public class A{ int i; } pub

java中的关键字static(静态变量)和final定义常量

1 package point; 2 3 class Point { 4 5 int x = 0; 6 int y = 0; 7 static int z = 100; // 定义静态变量z,类变量 8 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 9 10 Point(int a, int b) { 11 //PI=3.1415926; 12 /* 13 * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,

全局获取Context

在很多地方都需要用到Context,但在特殊情况下无法获取Context, 需要定义自己的Application,既可以利用我们自己的类来获取Context public class MyApplication exends Application{ private static Content content;重写父类的onCreate方法,并调用getApplicationContext()方法得到一个应用程序级别的Context然后静态方法将其返回 public void onCreate

全局获取Context的技巧

全局获取Context的技巧 在android开发中,非常多地方都要用到Context上下文这个类对象,比方:弹出 Toast 的时候须要.启动活动的时候须要.发送广播的时候须要.操作数据库的时候须要.使用通 知的时候须要等. 假设是在Activity中,那么获取这个context对象非常easy,由于Activity本身就继承Context.直接受用this就能够了. 可是对于比較复杂的逻辑,这些代码没有放在Activity中.那么.获取Context就显得不是那么easy了. 这里告诉大家一

java中static变量和方法的总结

转自:http://blog.csdn.net/haobo920/article/details/5921621 java中一切皆是对象 一个类中对象的定义一般都是分一下的两步来进行的:1/    A a;                                     //定义了一个类A的引用2/    a=new A("10","2563");        //真正地建立了对象a,也就是a指向了内存中一块连续的区域 也就是说通常我们说的创建了一个类,只