黑马程序员技术交流社区
标题:
内部类可以修改外部类的属性?
[打印本页]
作者:
罗正荣
时间:
2013-3-6 16:28
标题:
内部类可以修改外部类的属性?
本帖最后由 罗正荣 于 2013-3-10 20:21 编辑
内部类可以修改外部类的属性?
如何修改?
作者:
张豪杰
时间:
2013-3-6 17:00
内部类可以直接访问外部类中的成员,包括私有。之所以可以直接访问外部类中的成员,因为内部类中持有一个外部类的引用
请看代码
public class InnerTest1 {
private int num;//定义私有权限的成员变量
public char ch;//定义公有权限的成员变量
public class Inner{//内部类对外部类的属性进行修改
Inner(int num,char ch){
InnerTest1.this.num = num;//可以看到无论访问的外部类成员的权限如何,照样修改无误!
InnerTest1.this.ch = ch;
}
public void show(){
System.out.println(num+"...."+ch);
}
}
public static void main(String[] args) {
InnerTest1.Inner iti = new InnerTest1().new Inner(3,'a');
iti.show();
}
}
复制代码
作者:
张宁
时间:
2013-3-6 21:40
http://demojava.iteye.com/blog/1075571 这个帖子写的很详细,建议你看一看。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2