内部类
在内部类的成员方法中,对局部变量、内部类变量、外部类变量的访问
package day8.demo1;
/**
* @author NJR10byh
* @date 2022/7/25 14:46:46
* @description 在内部类的成员方法中,对局部变量、内部类变量、外部类变量的访问
*/
class People {
private int heartbeat = 150;
public class Heart {
private int heartbeat = 100;
void show() {
int heartbeat = 80;
System.out.println(heartbeat); // 访问局部变量
System.out.println(this.heartbeat); // 访问内部类变量
System.out.println(People.this.heartbeat); // 访问外部类变量
}
}
}
匿名内部类
- 本质上是一个没有名字的局部内部类,定义在方法中,代码块中等
- 作用:方便创建子类对象,精简代码
特点:
1、没有名字
2、写出来会产生一个匿名内部类的对象
3、匿名内部类相当于当前 new 类型的子类对象
package day8.demo2;
/**
* @author NJR10byh
* @date 2022/7/25 23:07:57
* @description 匿名内部类
*/
public abstract class Animal {
public abstract void run();
}
package day8.demo2;
/**
* @author NJR10byh
* @date 2022/7/25 23:02:02
* @description 匿名内部类
*/
public class task2 {
public static void main(String[] args) {
Animal a = new Animal() {
@Override
public void run() {
System.out.println("匿名内部类方法重写");
}
};
a.run();
}
}
练习代码: day8_code