码迷,mamicode.com
首页 > 其他好文 > 详细

内部类之静态内部类

时间:2019-03-30 13:24:26      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:反编译   pre   div   private   test   style   外部类   inner   color   

一、位置

  被定义在一个类下,且被static修饰

二、结构

  静态内部类下可以定义静态和非静态的属性和方法

三、静态内部类访问外部类

  1.不能访问外部类非静态的属性和方法

  2.调用属性【方法】方式:

    2.1直接写属性名【调用方法名】-------本质还是第二种

              2.1外部类.属性名【方法名】

源码:

class Outter {
     private static int b =3;
     
     public static void test(){
         System.out.println("外部类静态方法");
     }
     static class Inner{
        public void get(){
            System.out.println(b);//可以访问外部静态属性
            test();//可以访问外部类静态方法
        }
    }
}

反编译源码:

class Outter
{
    private static int b;
    
    public static void test() {
        System.out.println("\u5916\u90e8\u7c7b\u9759\u6001\u65b9\u6cd5");
    }
    
    static {
        Outter.b = 3;
    }
    
    static class Inner
    {
        public void get() {
            System.out.println(Outter.b);
            Outter.test();
        }
    }
}

四、外部类访问静态内部类

class Outter {
     private static int b =3;
     
     public static void test(){
         System.out.println("外部类静态方法");
     }
     static class Inner{
         private int a = 1;
         
         private static int b = 2;
        
         public void get(){
            System.out.println("get");
        }
         
         public static void get2(){
             System.out.println("get2");
         }
        
    }
     
     public static void main(String[] args) {
        //静态变量-方法  --方式一
        System.out.println(Inner.b);
        Inner.get2();
        //静态变量-方法  --方式二
        System.out.println(Outter.Inner.b);
        Outter.Inner.get2();
        //非静态--方式1
        System.out.println(new Inner().a);
        new Inner().get();
        //非静态--方式2
        System.out.println(new Outter.Inner().a);
    }
}

以上是对静态内部类的总结,有不对的地方请大家多多指点,大家共同进步!!!

内部类之静态内部类

标签:反编译   pre   div   private   test   style   外部类   inner   color   

原文地址:https://www.cnblogs.com/cc-umf-lm/p/10622281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!