Java SE笔记: 内部类

关于静态内部类

  1. 静态内部类可以等同看做静态变量
  2. 内部类重要的作用:可以访问外部类中私有的数据。
  3. 静态内部类可以直接访问外部类的静态数据,无法直接访问成员。

关于成员内部类

  1. 成员内部类可以等同看做成员变量
  2. 成员内部类中不能有静态声明.
  3. 成员内部类可以访问外部类所有的数据.

关于局部内部类

  1. 局部内部类等同于局部变量
  2. 重点:局部内部类在访问局部变量的时候,局部变量必须使用final修饰。
  3. 局部内部类不能用访问控制权限修饰符修饰。

关于匿名内部类(常用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
匿名内部类:指的是类没有名字.
*/
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("系统已经安全退出!");
}
}
*/
文章目录
  1. 1. 关于静态内部类
  2. 2. 关于成员内部类
  3. 3. 关于局部内部类
  4. 4. 关于匿名内部类(常用)