2015-01-01 22 views
1

在Apple的Swift編程語言中,您可以像在數組中一樣爲自己的類使用下標。 例如,在斯威夫特一類看起來是這樣的:Java中的自定義下標

class MyNumber { 
    let value: Int 
    init(value: Int) { 
     self.value = value 
    } 
    subscript(i: Int) -> Int { 
     return value * i 
    } 
} 

這個類只有一個getter標,但你可以做一個二傳手標了。無論如何,當這樣做:

let number = MyNumber(value: 15) 
println(number[3]) 

它產生的輸出45

是否有可能寫在Java中使用標以及這些類?當然,我可以簡單地使用帶參數的方法,但我想知道這是否可行。 感謝您的任何回答:)

+2

不,不可能。 Java中沒有運算符重載。 – August

回答

1

簡短回答:沒有。在Java中設置等於Class()的東西是創建該對象的新實例。剛做這樣的事情:

var = MyNumber(15) 
var.multiply(3) 

,並在您MyNumber類代碼,爲了清楚改變substringmultiply。這將工作相同。

相同原理的速記版本是

System.out.println(MyNumber(15).multiply(3));