请教 内部类匿名引用问题 请问:创建内部类的时候会隐式的拥有一个外部类的引用 我不明白的是 创建内部类的时候 会创建一个外部类 而内部类会拥有这个外部类对象的一个引用 但这个引用根本没有名字啊 怎么拥有这个引用呢谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只知道,可以引用外部类的实例变量,对外部类本身的引用,还不知道,如果你确实想引用的话class A{ A a = this; class B{ a..... }}这样试着看下 public class csdntest1{ class test{ csdntest1 csd = new csdntest1(); }} 名字就是“外包类名.this”。 可能对,这个在thinking in java 就是这么用的阿 外部类是他的包装类,这里说的拥有一个外部类的引用是指在这个类的内部,隐含了一个指针,指向了它的封装类,就向this和super一样的东西,不过这里没有这样的标记.内部类中调用封装类的成员的时候是直接调用的,这里实际上就是隐含的指向那个外部类一个隐式实例的成员.唉,说的有点糊涂了,不知道你听懂没有.内部类主要用于该类只给另外的某一个类提供服务,不向其他类提供服务的时候,这时我们创建内部类,不仅可以方便对封装类成员的调用,更可以避免失误引起的这个类向其他类提供服务.内部类还有一个用途,就是解决当一个类的父类和它的多个接口中有同名成员的情况,这时,可以使用内部类去继承(实现)一个成员,用封装类实现一个.(用到的极少)我知道的就这么多了,不知道讲清楚了没,希望可以帮到你. public class T { private int i; class TT { public void test() { T.this.i = 3; // 这2个写法都是正确的 i = 4; } }} java国际化的问题 请教java序列化签名的问题。 pascal代码转java 高手!求助!!! 求解一个java语法.关于双花括号的. JAVA中的按钮问题!!急!!! java.lang.Class这个类有什么用? 关于JTable的若干问题~~ 怎样在字符串后插入一个字符串,要永久改变的(在线等) java 新手问题 关于播放音频文件问题 java 匿名类初始化 请教方法内存问题
如果你确实想引用的话
class A{ A a = this;
class B{
a.....
}
}
这样试着看下
class test{
csdntest1 csd = new csdntest1();
}
}
外部类是他的包装类,这里说的拥有一个外部类的引用是指在这个类的内部,隐含了一个指针,指向了它的封装类,就向this和super一样的东西,不过这里没有这样的标记.
内部类中调用封装类的成员的时候是直接调用的,这里实际上就是隐含的指向那个外部类一个隐式实例的成员.唉,说的有点糊涂了,不知道你听懂没有.
内部类主要用于该类只给另外的某一个类提供服务,不向其他类提供服务的时候,这时我们创建内部类,不仅可以方便对封装类成员的调用,更可以避免失误引起的这个类向其他类提供服务.
内部类还有一个用途,就是解决当一个类的父类和它的多个接口中有同名成员的情况,这时,可以使用内部类去继承(实现)一个成员,用封装类实现一个.(用到的极少)我知道的就这么多了,不知道讲清楚了没,希望可以帮到你.
public class T {
private int i; class TT {
public void test() {
T.this.i = 3; // 这2个写法都是正确的
i = 4;
}
}
}