A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 百思不得7哥 中级黑马   /  2015-5-8 00:37  /  355 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么输出正确 , private 不是私有,不能直接被访问或者建立的吗。
public class Outer
{
        public String name = "Outer";
        private class Inner
        {
                String name = "inner";
                void  showName()
                {
                        System.out.println(name);
                }
        }
        public static void main(String[] args)
        {
                Inner inner = new Outer().new Inner();
                System.out.println(inner.name);
        }
}

5 个回复

正序浏览
private 在本类中可调用

其他类想调用需要提供方法
回复 使用道具 举报
在一个类里面可以访问的。
回复 使用道具 举报
重新class一个类就不能直接访问了,得通过方法
回复 使用道具 举报
虽然你是把内部类设为私有,但是还是在该外部类中有效,你是在本类中调用,当然可以访问到了,设为私有是为了不让在外部类之外的类中创建对象访问到
回复 使用道具 举报
private私有后在本类中仍然有效
你给的这个是在本类中建立本类对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马