内部类

内部类格式

/*
public class 类名{

                修饰符 class 类名{
        }

    }
*/
public class Outer{
  public class Inner{
     public void show(){
      System.out.println("a");
    }  
  }
  public void method(){
    Inner inner=new Inner();
     inner.show();
}
}

内部类的特点:

1.内部类可以访问外部类包括私有

2.外部类要访问内部类的成员需要创建内部类对象

成员内部类:外界访问格式

  外部类.内部类 对象名=外部类对象.内部类对象;

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

局部内部类:局部内部类实在方法中定义的,外界无法直接使用,需要在方法中创建内部对象并使用,该类能直接访问外部类成员,也可以访问局部变量

  

public class Outer {
    int i=10;

    public void method(){
             class Inner{
            public  void show(){
                System.out.println(i);
            }
        }
        Inner inner=new Inner();
        inner.show();
    }
public class oiTest {
    public static void main(String[] args) {
       Outer outer=new Outer();
       outer.method();
    }
}

匿名内部类

本质是继承该类或实现该接口的匿名子类对象

格式:new 类名或接口名(){

    重写方法;
};

  

原文地址:https://www.cnblogs.com/Q-Seekers/p/11407269.html