黑马程序员技术交流社区

标题: 内部类特点总结 [打印本页]

作者: Justfeeling    时间: 2014-8-10 23:13
标题: 内部类特点总结
/*
内部类:       
        访问特点:
                内部类可以直接访问外部类中的成员,包括私有成员。
                外部类要访问内部类的成员,必须要建立内部类的对象。
内部类在成员位置:就可以被成员修饰符修饰。如: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);
                }
        }
}

作者: 依然超级赛亚人    时间: 2014-8-11 07:14
/*
本题也可以用你在外部类定义的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);
                }
        }
}
作者: 申航航    时间: 2014-8-11 08:38
不错啊。。。。。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2