* 局部内部类访问 局部内部类中局部变量必须用final修饰 1.8以后不用 在栈中方法被释放了,在堆中虽然变成了垃圾,但是jvm还是默认他是存在的所以局部变量没有办法访问,会报错,如果把他定义成常量,就是存储在常量池里面。 内部类访问特点
* a:内部类可以直接访问外部类的成员,包括私有。
* b:外部类要访问内部类的成员,必须创建对象。 (静态成员内部类)
* static
* B:成员内部类被静态修饰后的访问方式是:
* 外部类名.内部类名 对象名 = new 外部类名.内部类名(); 匿名内部类
* 就是内部类的简化写法。
前提:存在一个类或者接口
* 这里的类可以是具体类也可以是抽象类。
格式:
*
new 类名或者接口名(){
重写方法;
}
本质是什么呢?
* 是一个继承了该类或者实现了该接口的子类匿名对象。 匿名内部类的使用通常在使用方法是接口类型参数,并该接口中的方法只有一个时,可以将匿名内部类作为参数传递。
|