【发布时间】:2017-06-01 18:15:56
【问题描述】:
我正在尝试使用一堆额外的类创建一个 java 库,并且我正在为虚数添加一个。 java中有没有办法制作一个受数学运算影响的自定义类 例如
虚数(10) * 虚数(50) = "500i"
【问题讨论】:
-
简单易谷歌回答:Java 不支持运算符重载。
标签: java
我正在尝试使用一堆额外的类创建一个 java 库,并且我正在为虚数添加一个。 java中有没有办法制作一个受数学运算影响的自定义类 例如
虚数(10) * 虚数(50) = "500i"
【问题讨论】:
标签: java
不,无法定义重载默认运算符的自定义算术运算符,但您可以创建 Imaginary.mutiply(Imaginary i) 之类的方法。
【讨论】:
您不能在 Java 中重载运算符。请参阅之前对类似问题的回答:https://stackoverflow.com/a/5883909/1701316
您的类需要将其操作实现为方法。如果您愿意,由于方法名称中允许使用任何字符,您可以使用典型的运算符命名它们,但仍需要使用点符号来调用它们:Imaginary(10).*(Imaginary(50) )
【讨论】: