philonyun的博客

求知之旅

对象私有成员的使用条件


一、本类中,或外部类中

public class Outer {
class Inner{
private int a = 5;

private void f(){
System.out.println("abc");
}
/*
* 一个类的私有成员在本类外部是不可见的,即使在本类外部创建了本类对象,也不能调用私有成员,除非开放了一个公有接口
* 一个类的内部类的私有成员在外部类获得内部类对象后是可以调用的

* 可以这样理解:
* 比方说两个独立的人张三和李四,李四有点石成金的技能
* 张三抓住了李四(相当于获得了李四这个对象),他强迫使用李四的点石成金的方法,但李四很有骨气,宁死也不给他用
* 最后迫于无奈,李四说我可以给你变金子,但必须答应我的某些条件..

* 如果李四是张三的忠心耿耿的手下
* 那么张三有了李四,就可以无条件的使用李四的点石成金

*/
}

public Inner getInner(){
// Inner inner = new Inner();
// return inner;
return this.new Inner();
}

public static void main(String[] args) {
Inner inner = new Outer().getInner();
System.out.println(inner.a);
inner.f();
}
}

二、其他类中

import day13.other.Outer.Inner;


public class Other {
public static void main(String[] args) {
Inner i = new Outer().getInner();
i.f(); //报错
System.out.println(i.a); //报错
}
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/philonyun/article/details/52383457
个人分类: 以梦为马
上一篇Linux学习笔记
下一篇Linux 命令实现单词计数功能
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭