可能重複:
Why to use empty parentheses in Scala if we can just use no parentheses to define a function which does not need any arguments?這兩個方法定義有什麼區別?
考慮我們有一個類Foo
與方法bar
(其中不帶任何參數和返回字符串"bar"
)。有落實巴兩種方式
第一個是
class Foo {
def bar() = "bar"
}
第二個是
class Foo {
def bar = "bar"
}
雖然都這樣做基本上是相同的,他們需要不同的調用,第一個這樣
someFoo.bar()
,第二個
someFoo.bar
爲什麼我應該使用其中一種,而根本區別是什麼?
我認爲這是帶scala標籤的最常見問題之一,我看到它:) – 4e6
*它們需要以不同的方式調用*實際上,沒有任何東西可以阻止您調用方法定義的帶括號的括號:'def foo(){}; foo'(但不是反之亦然) –