Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这种技术在Java中叫什么? 我是C++程序员,当我遇到下面的例子时,我正在读这篇文章。这种技术在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); } } } 类应用程序{ ... 公开募捐{ 视图v=createView(); v、 显示(); ... 受保护的视图createView(){ 返回新视图(); } ... } 类ApplicationTest扩展了TestCase{ MockView MockView=新建MockView(); 公开无效的遗嘱申请{ Application a=newapplication(){_Java_Anonymous Class - Fatal编程技术网

这种技术在Java中叫什么? 我是C++程序员,当我遇到下面的例子时,我正在读这篇文章。这种技术在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); } } } 类应用程序{ ... 公开募捐{ 视图v=createView(); v、 显示(); ... 受保护的视图createView(){ 返回新视图(); } ... } 类ApplicationTest扩展了TestCase{ MockView MockView=新建MockView(); 公开无效的遗嘱申请{ Application a=newapplication(){

这种技术在Java中叫什么? 我是C++程序员,当我遇到下面的例子时,我正在读这篇文章。这种技术在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); } } } 类应用程序{ ... 公开募捐{ 视图v=createView(); v、 显示(); ... 受保护的视图createView(){ 返回新视图(); } ... } 类ApplicationTest扩展了TestCase{ MockView MockView=新建MockView(); 公开无效的遗嘱申请{ Application a=newapplication(){,java,anonymous-class,Java,Anonymous Class,这里使用的一般概念是 有效的做法是创建应用程序的新子类,重写(或实现)子类中的方法。由于子类未命名(匿名),因此无法创建该类的任何其他实例 只要在定义中实现所有必要的方法,就可以使用相同的技术来实现接口或实例化抽象类。正如其他人所指出的,代码是为了测试而创建模拟对象。但它也在做一件叫做“匿名内部类”的事情.只是好奇,这是在什么版本的Java中引入的?我相信它是在Java 1.1中添加的。当我10多年前开始学习Java时,它肯定就在那里:-)

这里使用的一般概念是

有效的做法是创建应用程序的新子类,重写(或实现)子类中的方法。由于子类未命名(匿名),因此无法创建该类的任何其他实例


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

正如其他人所指出的,代码是为了测试而创建模拟对象。但它也在做一件叫做“匿名内部类”的事情.

只是好奇,这是在什么版本的Java中引入的?我相信它是在Java 1.1中添加的。当我10多年前开始学习Java时,它肯定就在那里:-)