📄 statementanonymousclass.java
字号:
//【例4-26】 语句匿名类的应用。
//程序清单4-26: StatementAnonymousClass.java
package e4_26;
public class StatementAnonymousClass {// 主类
public static void main(String[] args) {
OuterClass out = new OuterClass();
out.instanceMethod();
}
}
class OuterClass {// 外部类
public void instanceMethod() {// 实例方法
// 格式一:定义一个实现IOutIn接口的语句匿名类,并创建实例,且保存实例的引用值至io
IOutIn io = new IOutIn() {// 语句匿名类实现接口IOutIn
public void doOut() {
System.out.println("实现接口的语句匿名类!");
}
};// 语句匿名类是语句的一部分,因此在大括号后必须跟分号
io.doOut();
// 格式二:定义一个继承基类BaseClass的语句匿名类,并创建实例,且不保存实例的引用值
new BaseClass(58) {// 语句匿名类继承类BaseClass
// 匿名类中不能显示定义构造方法
// public BaseClass(int x,int y){}
public void printData() {// 匿名类中新增实例方法
System.out.println("x = " + getX());
}
}.printData(); // 输出:x = 58
}
}
interface IOutIn {// 定义接口IOutIn
void doOut();// 抽象方法doOut()
}
class BaseClass {// 定义类BaseClass
private int x;
public BaseClass(int x) { this.x = x; }// 构造方法
public int getX() { return x; }// 实例方法
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -