码迷,mamicode.com
首页 > 其他好文 > 详细

2016/5/21学习记录

时间:2016-05-21 23:21:26      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:

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,也可以进行引用的。

所以不能轻信楼上这种做法!吸取点教训。

2016/5/21学习记录

标签:

原文地址:http://www.cnblogs.com/laigaoxiaode/p/5515718.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!