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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Justfeeling 中级黑马   /  2014-8-10 23:13  /  1184 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
内部类:       
        访问特点:
                内部类可以直接访问外部类中的成员,包括私有成员。
                外部类要访问内部类的成员,必须要建立内部类的对象。
内部类在成员位置:就可以被成员修饰符修饰。如:private,static。       
                当内部类被static修饰后,只能直接访问外部类中的static成员。
                在外部其他类中,如何直接访问static内部类的非静态成员呢?
                new Outer.Inner().function();
                在外部其他类中,如何直接访问static内部类的静态成员呢?
                Outer.Inner.function();
注意:当内部类中定义了静态成员,该内部类必须为static的。
*/
class Test3 {
        public static void main(String[] args) {       
                 Outer.Inner x=new Outer().new Inner();
                 System.out.println(x.age);
                 x.getOuterName();
        }       
}
class Outer{
        private String name;       
        public void method(){
                Inner inner=new Inner();
                System.out.println(inner.age);       
        }
        class Inner{       
                int age;
                public void getOuterName(){
                        System.out.println(name);
                }
        }
}

2 个回复

倒序浏览
/*
本题也可以用你在外部类定义的method()方法来访问内部类,以及调用它的方法和成员变量。看看这样行吗?
*/
class Test3 {
        public static void main(String[] args) {        
                // Outer.Inner x=new Outer().new Inner();
                                new Outer().method();
                 //System.out.println(x.age);
                // x.getOuterName();
        }        
}
class Outer{
       private String name;        
        public void method(){
                Inner inner=new Inner();
                System.out.println(inner.age);
                                System.out.println(name);
        }
         class Inner{        
                int age;
                public void getOuterName(){
                        System.out.println(name);
                }
        }
}
回复 使用道具 举报
不错啊。。。。。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马