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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-15 20:41  /  718 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
内部类的访问规则:
1,内部类可以直接访问外部类中的成员,包括私有。
        之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外       

部类的引用,  格式:外部类名。this。变量名;
2,外部类要访问内部类,必须建立内部类对象。
*/
class Outer {

        private int x = 3;
        class Inner { //定义一个内部类
                private int x = 4;
                void show() {
                        int x = 5;
                        System.out.println("x = " + x); //调用函数中的变量x
                        System.out.println("x = " + this.x); //调用内部类中的成员变量x.
                        System.out.println("x = " + Outer.this.x); //调用外部类中的成员变量
                }
        }
       
        public void show() { //定义一个函数。调用内部类中的函数
                Inner in = new Inner();
                in.show();
        }
       
}

class OuterDemo {
        public static void main(String[] args) {
                Outer ou = new Outer(); //建立外部类对象
                ou.show(); //通过外部类函数调用内部类函数
                Outer.Inner in = new Outer().new Inner(); //通过内部类名.外部类名建立内部类对象
                in.show(); //通过内部类对象调用内部类函数
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马