首页 > 编程语言 >java内部类

java内部类

时间:2023-03-20 21:55:42浏览次数:42  
标签:部类 java 内部 静态 成员 实例 类中

1. 内部类

       1)内部类可以分为:非静态内部类、静态内部类、成员内部类

       2)内部类是可以用 private 与 protected 修饰

     

2. 非静态内部类

     

      1)在外部类的静态方法和外部类以外的其他类中,必须通过外部类的实例创建内部类的实例。

                   例如: Outer.Inner i = new Outer().new Inner()    //需要创建外部类实例

       2) 在实例内部类中,可以访问外部类的所有成员。

       3) 一个内部类实例只对应一个外部类实例

       4) 在实例内部类中不能定义 static 成员,除非同时使用 final 和 static 修饰。

3. 静态内部类

      

      1)在创建静态内部类的实例时,不需要创建外部类的实例。

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

      2)静态内部类中可以定义静态成员和实例成员

      3)  静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。

4. 局部内部类

        

     1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。

     2)局部内部类只在当前方法中有效。

     3)局部内部类中不能定义 static 成员。

     4)在局部内部类中可以访问外部类的所有成员。但只可以访问当前方法中 final 类型的参数与变量

5. 匿名类

    匿名类有两种实现方式:

  •   继承一个类,重写其方法。
  •   实现一个接口(可以是多个),实现其方法。

    

 

标签:部类,java,内部,静态,成员,实例,类中
From: https://www.cnblogs.com/dkhlaojogo/p/17237830.html

相关文章