百度摘要,这个全面点。
1)根据位置的不同,Java中的内部类分为四种: 静态内部类 使用static修饰,声明在类体中 静态内部类中可以访问外部类的静态成员 成员内部类 声明在类体中,不使用static,具有类的成员特征,也就是,必须有类的实例才能创建内部类实例 内部类实例可以访问共享外部类的成员变量(很常用) 如:链表的节点就可以定义为内部类 局部内部类 把类声明在方法中,就是局部内部类,作用域 类似局部变量(很少见) 匿名内部类 匿名类,非常常见,可以写在任何地方,就像一般的语句 语法更象是创建对象:Date d = new Date(){//...}; 匿名类是对原类的一个继承,同时创建了实例,{} 就是继承以后的类体类体中可使用所有类的语法 匿名类不能写构造器 匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现2) 任何内部类都编译成独立的class文件3) 最大的作用:封装! 匿名类可以封装内部概念:情侣间的“土豆”和菜市场的“土豆”是不一样的 |