全面解析内部类的使用

指的是在Java中可以将一个类定义在另一个类内部。

内部类可以定义在

1.类的成员位置,成员内部类

  作为成员,与属性,方法在一个层次

       跟正常类一样,可以使用权限修饰符,特征修饰符修饰,public ,private ,final ,static这些。

好处:1.省了一个源文件 2.可以直接访问外部类的成员

用法:通过外部类对象创建内部类对象,然后跟正常方法一样调用就行了。

注意:如果属性重名,想通过对象.方式调用,内部类中this.name,外部类对象.this.name

编译后会产生一个内部类字节码文件

2.局部内部类

  定义在块、方法里面,作为成员的内部结构,跟局部变量一个层次

注意:1.不能使用权限修饰符特征修饰符修饰,默认的就行。

  2.只能用abstract或final

  3.局部内部类里面定义变量只能是final的

3.匿名内部类,只有类主体body部分没有结构(修饰符,名字,继承,实现这些),么有构造方法

  成员匿名内部类

正常的
public interface Test{ public void test(); } public class Person implements Test{ public void test(){ .... } } //使用匿名内部类后 public interface Test{ public void test(); } Test t=new Test(){ public void test(){ .... } }

  局部匿名内部类

4.静态内部类

  成员静态内部类,不需要外部内对象,可以正常访问。

原文地址:https://www.cnblogs.com/hebiao/p/12875363.html