--- title: Java SE笔记: 内部类 date: 2016-08-09 21:20:00 updated: 2016-08-09 21:20:00 description: "内部类" categories: [个人笔记] tags: [Java, Java SE笔记] --- ### 关于静态内部类 1. 静态内部类可以等同看做静态变量 2. 内部类重要的作用:可以访问外部类中私有的数据。 3. 静态内部类可以直接访问外部类的静态数据,无法直接访问成员。 ### 关于成员内部类 1. 成员内部类可以等同看做成员变量 2. 成员内部类中不能有静态声明. 3. 成员内部类可以访问外部类所有的数据. ### 关于局部内部类 1. 局部内部类等同于局部变量 2. 重点:局部内部类在访问局部变量的时候,局部变量必须使用final修饰。 3. 局部内部类不能用访问控制权限修饰符修饰。 ### 关于匿名内部类(常用) ```java /* 匿名内部类:指的是类没有名字. */ public class Test { //静态方法 public static void t(CustomerService cs) { cs.logout(); } //入口 public static void main(String[] args) { //调用t方法 //t(new CustomerServiceImpl()); //使用匿名内部类的方式执行t方法 //整个这个"new CustomerService(){}"就是个匿名内部类 t(new CustomerService() { public void logout() { System.out.println("exit!"); } }); //匿名内部类的优点:少定义一个类. //缺点:无法重复使用! } } //接口 interface CustomerService{ //退出系统 void logout(); } //编写一个类实现CustomerService接口 /* class CustomerServiceImpl implements CustomerService { public void logout() { System.out.println("系统已经安全退出!"); } } */ ```