标签:
1.重大教训!先上代码
1 package Pra; 2 3 public class Read { 4 5 public static void main(String[] args) { 6 T a = new T(); 7 Read.swap(a); 8 System.out.println("e1 = "+a.e1+"e2 = "+a.e2); 9 } 10 public static void swap(T t){ 11 int temp = t.e1; 12 t.e1 = t.e2; 13 t.e2 = temp; 14 15 } 16 } 17 class T { 18 T(){} 19 int e1 = 1; 20 int e2 = 2; 21 }
这段代码之前一直出错“No enclosing instance of type is accessible. ”百度了一下,如下,跟我的情况一样,把下面的类class改成static确实解决了问题。
但总觉得哪里不对,因为理论上静态方法不能调用实例方法或者访问实例数据域,因为静态方法和静态数据域不属于某个特定的对象,但是实例化之后就可以了啊。
后来我发现我的括号打错了!!!!结果就是Class T写在了Class Read里面,实际上在mian函数里面实例化了T,也可以进行引用的。
所以不能轻信楼上这种做法!吸取点教训。
标签:
原文地址:http://www.cnblogs.com/laigaoxiaode/p/5515718.html