我来自JavaScript背景,第一次看到::
运算符。我理解它的作用,但我想知道为什么它是必要的。在JavaScript中,类似这样的东西是完全有效的:
[1, 2, 3].forEach(console.log);
不需要新的运算符——我只是不直接/显式地调用log
函数。所以我的问题是,为什么这在Java中不起作用?Java中有什么使Class.method
不可用(屏蔽它?!(?
因为变量和方法在Java中不共享同一名称空间,所以可以使用相同名称的变量和方法。
这在Java:中有效
class Test {
private static int c;
private static int c() { return 0; }
}
如果我们没有::
运算符,那么Test.c
在这里指的是什么?