2012-07-16 36 views
3

可能重複:
operator overloading and overriding in java是否可以在Java中實現/覆蓋+和++?

我想知道是否有可能實現和覆蓋+和++運算符。

例子:

public class MyClass{ 
private myIncrement =0; //with its getter and setter 
} 

.... (another class code) 
MyClass myClass = new MyClass(); 
myClass++; 
myClass.getIncrement(); //this will return 1. 

還有,如果我想創建一個Integer類,讓我在某種程度上只有三個多,當我用我++在MultipleOfThree比如,它總結三到當前實例而不是總和1.

+0

不,這是不可能的 – 2012-07-16 17:09:12

+0

總之,藥品出超過15個字符: – 2012-07-16 17:09:25

+0

你就是不行號。如果你有一些空閒時間,請參閱這篇(長篇)討論;-) http://stackoverflow.com/questions/77718/why-doesnt-java-offer-operator-overloading – assylias 2012-07-16 17:09:28

回答

8

你不能這樣做:Java不支持操作符重載。用另外的實例方法處理你的例子,無論如何它通常更清晰。

+0

運算符重載通常更加清晰,特別是在處理數學結構(如向量/矩陣的類)時更是如此。我認爲,僅僅因爲額外的實例方法「通常」更加清晰,並不足以使語言中沒有這樣的有用語言特性。 – matts1 2015-08-22 07:36:51

5

編號Java沒有運算符重載。

5

不,在Java中是不可能的。

6

NO。運算符重載不可能在java中。這裏有一個關於why的有趣討論。

2

在java中不可能。它應該是,但它不是

4

你不能這樣做。在java中是不可能的。

1

運算符重載在Java中是不可能的。

1

Java有一個且只有一個重載操作+,這無法被自定義超載

大多數人可以看到它在將數字類型轉換爲字符串中的用法。

int x = 5; 

String s = x + "" ; 
+0

給出了所有答案,我注意到任何操作符都可能超載。你能說出一個可以嗎? – 2012-07-16 17:22:59

+0

查看我在答案中給出的示例...有關更多詳細信息,請參閱Kathy Sierra和Berth Bates的Head First Java。 – 2012-07-16 17:25:04

+0

我不是在嘟some一些理論上的巨型巨無霸,一個人說了什麼,所有人都遵循了,我給出了一個例子..你可以試試它.. – 2012-07-16 17:26:27

相關問題