gpt4 book ai didi

java - 这种技术在 Java 中叫什么?

转载 作者:搜寻专家 更新时间:2023-11-01 01:00:56 25 4
gpt4 key购买 nike

我是一名 C++ 程序员,我正在阅读这篇 site当我遇到下面的例子时。这种技术在 Java 中叫什么?它有什么用?

class Application {
...
public void run() {
View v = createView();
v.display();
...
protected View createView() {
return new View();
}
...
}

class ApplicationTest extends TestCase {

MockView mockView = new MockView();

public void testApplication {
Application a = new Application() { <---
protected View createView() { <---
return mockView; <--- whao, what is this?
} <---
}; <---
a.run();
mockView.validate();
}

private class MockView extends View
{
boolean isDisplayed = false;

public void display() {
isDisplayed = true;
}

public void validate() {
assertTrue(isDisplayed);
}
}
}

最佳答案

那里使用的一般概念是 Anonymous Classes

您有效地完成的是创建一个新的 Application 子类,覆盖(或实现)子类中的方法。由于子类未命名(匿名),因此您无法创建该类的任何其他实例。

您可以使用相同的技术来实现接口(interface)或实例化抽象类,只要您在定义中实现所有必要的方法即可。

关于java - 这种技术在 Java 中叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451524/

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