java 内部类
1.成员内部类:应用率低: (1)类中套类,外面的称为Outer外部类,里面的称为Inner内部类 (2)内部类通常只服务于外部类,对外不具备可见性。 (3)内部类对象通常是在外部类中创建。 (4)内部类中可以直接访问外部类成员(包括私有的) 内部类中有个隐私的引用指向了创建它的外部类对象 eg:外部类名.this 2.匿名内部类 : (1)若想创建一个类(派生类)的对象,并且对象只被创建一次,此时该类不必命名,称为匿名内部类。 (2)匿名内部类若想访问外部的变量,该变量必须是final的 --------在JDK1.8之前有这样的要求。 package demo; //匿名内部类的演示: public class NstInnerClassDemo { public static void main(String[] args) { /* * 1.创建了Coo的一个派生类,但是没有名字 * 2.为该派生类创建了一个对象,名为o1 * Doo o1=new Doo(); * 3.大括号中的为派生类的类体。 */ Coo o1=new Coo(){ }; final int num=5; /* * 1.创建了Doo的一个派生类,但是没有名字 * 2.为该派生类创建了一个对象,名为o3 * 3.大括号中的为派生类的类体。 */ Doo o3=new Doo(){ void show()