2015-02-23 43 views
0

我注意到,在使用Juno Eclipse建模框架更新到Java 8 SE后,当调用Content Assist时,我的标准库对象开始将方法的新选项指向“匿名内部类型”。我想了解如何使用这些内置选项。内容辅助中的匿名内部类型的标准Java类?他们如何使用?

a sample of how this appears in the IDE is shown in the image attached

我以前的知识,匿名内部类是创建一种表达风格,在实用性作为一种方式来声明&实例化一个类在同一时间的一种方式。我很少使用这个选项,但我认识到大多数开发人员使用匿名内部类类型作为一种媒介来编写更简单,更易读的代码。如果我在任何关于匿名内部课程的信息中有任何错误,请纠正我。

但是,我不确定这些匿名类型是如何开始出现在我的内容辅助面板中的,我找不到有关如何使用它们的示例。由于我对匿名内部类的练习是有限的,所以我会欢迎任何示例如何使用这些匿名内部类型上下文帮助选项。

+0

我不明白你问产生。如果你想知道这个内容的帮助选项,然后选择它,你就会看到。然后你可以决定这个选项在这种情况下是否有用,和/或在另一个环境中是否有用。如果您的问题是“什么是匿名类,什么时候有用”,那么请阅读关于匿名内部类的java教程:http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html – 2015-02-23 16:34:58

+0

- 基本上我问的是标准Java类上的这些“匿名内部类型”选项如何使用图像中显示的“点”。 - 当我尝试使用该选项时,没有发生任何特殊事件。 - 此外,当我从Oracle官方网站以及其他教程和Google检查问题时,找不到与使用此类(如图中的)匿名内部类型相关的任何内容。然而,这是一个选择。 - 因此,如果您对使用这些选项有所了解,请分享您的信息。提前致谢。 – 2015-02-23 22:00:49

回答

1

匿名内部类型的构造函数内容对接口和抽象类更有用。对于一个具体的类如Point,在内容唯一的区别是辅助

Point point = new Point(); 

为类本身的一个实例,对

Point point = new Point() { 
    }; 

为一个匿名的内部类型的实例。

与接口和抽象类的好处是,匿名内部类获取与方法存根

Comparator<String> comp = new Comparator<String>() { 
     @Override 
     public int compare(String o1, String o2) { 
      // TODO Auto-generated method stub 
      return 0; 
     }    
    };