黑马程序员技术交流社区

标题: 内部类总结-----静态内部类 [打印本页]

作者: 卟離不棄    时间: 2015-3-22 11:02
标题: 内部类总结-----静态内部类
/*
* 静态内部类: 静态内部类定义在类中,任何方法外,用static定义。
* 注意:静态内部类中可以定义静态或者非静态的成员
*/
public class Outer {
         private static int i = 1;
         private int j = 10;
         
         public static void outer_f1(){
         
         }
         
         public void outer_f2(){
         
         }
         
         
         // 静态内部类可以用public,protected,private修饰
         // 静态内部类中可以定义静态或者非静态的成员
         static class Inner{
                 static int inner_i = 100;
                 int inner_j = 200;
                 
                 static void inner_f1(){
                         System.out.println("Outer_i:"+i);//静态内部类只能访问外部类的静态成员
                         outer_f1();//包括静态变量和静态方法
                 }
                 
                 void inner_f2(){
                 //System.out.println("Outer.i"+j);//静态内部类不能访问外部类的非静态成员
             //outer_f2();//包括非静态变量和非静态方法
                 }
         
         }
         
         public void outer_f3(){
                 //  外部类访问内部类的静态成员:内部类.静态成员
                 System.out.println(Inner.inner_i);
                 Inner.inner_f1();
                 
                 //  外部类访问内部类的非静态成员:实例化内部类即可
                 Inner inner = new Inner();
                 inner.inner_f2();
         
         }
}

public class OuterDemo {
        public static void main(String[] args) {
                new Outer().outer_f3();
        }
}




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