为什么java方法与对象而不是类相关?

时间:2017-07-04 08:18:36

标签: java object implementation

我对以下格式的java方法引用有疑问;

acollection.foreach(的System.out ::的println);

我希望代码类似于;

acollection.foreach(System.PrintStream ::的println);

请您解释将实现(代码)与对象相关联的想法吗?

1 个答案:

答案 0 :(得分:0)

PrintStream.println()是一个实例方法,因此必须在实例(对象)上执行。

acollection.foreach(System.out::println);就是这么做的。对于集合中的每个元素,它将在println上执行System.out

acollection.foreach(System.PrintStream::println);无效,因为没有给出PrintStream的实例 - 而且因为System.PrintStream不是有效的声明。