zoukankan      html  css  js  c++  java
  • 内部类

    1、静态内部类Static Inner Class

    被编译成一个完全独立的.class文件,名称为OuterClass$InnerClass.class的形式。只可以访问外部类的静态成员和静态方法,包括了私有的静态成员和方法。

    public class StaticInner{
        private static int a = 2;
        // static inner class
        public static class Inner{
            public void test(){
                // 静态内部类只能访问外部类的静态成员
                System.out.println(a);
            }
        }
    }
    
    public class StaticInnerClassTest{
        public static void main(String[] args){
            // 创建静态内部类方式
            StaticInner.Inner inner = new StaticInner.Inner();
            inner.test();
        }
    }

    2、成员内部类 Member Inner Class

    可以访问它的外部类的所有成员变量和方法。在外部类里面创建成员内部类的实例:this.new Innerclass();  

    public MemberInner{
        private int b = 1;
        private int a = 2;
        
        // 成员内部类
        public class Inner{
            private int a = 3;
            public void doSomething(){
                System.out.println(b); // 直接访问外部类成员变量
                System.out.println(a); // 访问的是内部类里的a
                System.out.println(MemberInner.this.a); // 访问的是外部类里的a
            }
        }
    }
    
    public class MemberInnerClassTest{
        public static void main(String[] args){
            // 创建成员内部类方式
            MemberInner.Inner inner = new MemberInner().new Inner();
            inner.doSomething();
        }
    }

    3、匿名内部类 Anonymous Inner Class

    匿名内部类就是没有名字的局部内部类,不使用关键字class, extends, implements, 没有构造方法。匿名内部类隐式地继承了一个父类或者实现了一个接口。通常是作为一个方法参数。

  • 相关阅读:
    套路
    委托、事件 茴字有几种写法
    数学 矩阵
    webForm系列 前端框架快速引用
    图片引用
    【HTML】Advanced6:HTML5 Forms Pt. 1: Input Types
    【HTML】Advanced5:Accessible Forms
    【HTML】Advanced4:Accessible Links
    【HTML】Advanced3:Tables: Columns, Headers, and Footers
    【HTML】Advanced2:Conditional Comments
  • 原文地址:https://www.cnblogs.com/hesier/p/5640761.html
Copyright © 2011-2022 走看看