gpt4 book ai didi

java - 为什么使用方法局部抽象内部类

转载 作者:IT老高 更新时间:2023-10-28 20:33:43 26 4
gpt4 key购买 nike

可用于方法局部内部类的合法修饰符之一是抽象。

例如:

public class Outer {
public void method(){
abstract class Inner{
}
}
}

在任何情况下你会实际使用它吗?

SCJP 考试你必须知道这一点。

最佳答案

原始问题中有一些无效的假设。某些东西是合法/有效的 Java 并不意味着它是您需要使用或需要知道的东西。

我不记得 SCJP 包含奇怪的极端案例问题。

我试图想出一个案例,我会使用在方法中声明的抽象类,但一切看起来都很奇怪,而且设计得很糟糕。然而,这是我想出的一个代码示例(恕我直言,代码设计仍然很糟糕)

public class BatchExecutor {

public static enum ResultNotification {
JMS,
MAIL
};

public Runnable createRunnable(ResultNotification type) {
abstract class Prototype implements Runnable {
public void run() {
performBusinessLogic();
publishResult();
}

abstract void publishResult();
}

switch (type) {
case JMS: {
return new Prototype() {
void publishResult() {
//Post result to JMS
}
};
}
case MAIL: {
return new Prototype() {
void publishResult() {
//Post result to MAIL
}
};
}
}
return null;
}

private void performBusinessLogic() {
//Some business logic
}

}

关于java - 为什么使用方法局部抽象内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5830831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com