From Java to C#: A Developers Guide
| Operator overloading is a new concept to Java developers since Java doesn't allow operator overloading. [3] , [4] [3] Some Java programmers may want to argue that the + operator in Java is a pseudo-overloaded operator when it is used for concatenating strings. This is a special case whereby the compiler actually decides if you are doing a numerical addition or a string concatenation depending on the operand types, and hence shows a little 'operator overloading' behavior. [4] Operator overloading is a feature in C++ though. In brief, operator overloading allows you to write special methods (called operators, or operator methods ) which are invoked when an overloaded operator is used to perform an operation on one or more operands. For example, you can overload the + operator so that you can 'add up' two objects of type Matrix ( Matrix may be a user -defined class which represents a matrix). The following statements will then make sense: Matrix m1 = new Matrix(); Matrix m2 = new Matrix(); // + operator overloaded to accept Matrix operands Matrix m3 = m1 + m2; Operator overloading is an elegant way of allowing programmers to perform 'operations' on classes in a more intuitive way. Java does not support operator overloading. More information about operator overloading can be found in Chapter 22. |