局部内部类:定义在方法中的类
-
-1局部类中可引用局部变量(定义在方法中的变量),但是局部变量必须已经初始化,
因为局部变量前默认带着final。
2.局部内部类的东西只能在定义的方法中使用(在方法中创建内部类对象)
3.局部内部类不可以放静态变量
4.不能使用一些修饰符(private,public等)
5.局部内部类的内存分析
栈帧:方法和其局部变量
堆:创建的内部类对象-- 内部类的方法,变量
6.final修饰的变量相当于常量,常量存放在方法区(方法区中放:static,final)中
7.当堆中的对象没人引用时,不会立马销毁,因为final的存在使变量放在了方法区中,所以在程序关闭时
才会被销毁
8.匿名内部类:没有名字的内部类而且放在方法中。
9.匿名内部类没有构造器,只能使用父类或者接口的构造器
10.只使用一次的时候才会使用匿名内部类
11.匿名内部类的格式:
new 父类名称或者已实现的接口名称(){
内部写的代码(在new的时候就会自动执行)
}
eg:(已实现的接口)
interface IUSBable{
void a();
}
class motherboard{
void swapdata(IUSBable IUSBable) {
IUSBable.plugIn();
}
}
public static void main(String[] args) {
motherboard m = new motherboard();
m.swapdata(new IUSBable() {
public void plugIn(){
System.out.println("niming");}
});
}
}
在开发中一个文件一个类