java内部类(二)

静态内部类


定义:

       static修饰的内部类就是静态内部类。

特点:

        1.静态内部类不能直接访问外部类的非静态成员,但可以通过new 外部类().成员 的方式访问。

 

     2.如果外部类的静态成员与内部类成员名相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

                                  如:HelloWorld.score    //访问外部类中的score

     3.创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

                                  如:SInner si=new SInner();

例:

//外部类
public class HelloWorld {
    
    // 外部类中的静态变量score
    private static int score = 84;
    private int   a=11;
    // 创建静态内部类
    public    static   class SInner {
        // 内部类中的变量score
        int score = 91;
        
        public void show() {
            System.out.println("访问外部类中的score:" + HelloWorld.score    );
            System.out.println("访问内部类中的score:" + score);
            System.out.println("访问外部类中的非静态成员score:" + new HelloWorld().a;
        }
    }

    // 测试静态内部类
    public static void main(String[] args) {
        // 直接创建内部类的对象
        SInner si=new SInner();
        
        // 调用show方法
        si.show();
    }
}





原文地址:https://www.cnblogs.com/tengpengfei/p/10454075.html