内部类
-
内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。
- 成员内部类
public class Outer { private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } // 获得外部类的私有属性 public void getID(){ System.out.println(id); } // 获得外部类的私有方法 public void getOut(){ out(); } } } //调用内部类 ublic static void main(String[] args) { Outer outer = new Outer(); //通过外部类来实现内部类 Outer.Inner inner = outer.new Inner(); inner.in(); inner.getID(); inner.getOut(); }
- 一个Java类中可以有多个class类,但是只能有一个public class的类
-
局部内部类
-
在方法中定义的类
//局部内部类 public void method(){ class Inner{ } }
-
-
匿名内部类
public class Test { public static void main(String[] args) { //没有名字初始化类,不用将实例保存到变量中 new Apple().eat(); // 接口 new UserService(){ @Override public void user() { } }; } } class Apple{ public void eat(){ System.out.println("1"); } } interface UserService{ void user(); }