Java 内部类 简述

内部类

静态内部类

静态内部类在生成对象的时候,不需要事先创建外部类对象

Outer.Inner in = new Outer.Inner();

成员内部类

成员内部类在生成对象的时候,需要事先创建外部类对象。

Outer.Inner in = new Outer().new Inner();

成员内部类在编译完成之后会隐含的保存着一个引用,该引用是指向创建它的外围类。

Class Outer{
    T xxx;
    Class Inner{
        func(){
            sout(Outer.this.xxx);
        }
    }
}

方法内部类

  1. 无修饰。
  2. 除了创建这个类的方法可以访问它以外,其他地方均不能访问。
  3. 不能有静态的变量或方法。
  4. 方法内部类不可以改变所在方法的形参,只能使用。

匿名内部类 ( 属于方法内部类 )

匿名内部类必须继承一个抽象类或者实现一个接口。

interface ITest{
    void test();
}

class A{
    public static void main(){
        ITest itest ;
        itest = new ITest(){
            public void test(){
                System.out.println("A->main方法->匿名内部类的test函数");
            }
        };
        itest.test(); 
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容