Java 如何使用操作符号(,-,*,/)与自定义对象交互?
我在AP Comp Sci A,我们正在做一个名为“网格世界”的案例研究。基本上有虫子和岩石在网格上移动(或不移动)。每个“参与者”都有一个“位置”,即他们的(行、列)连线及其方向。编程“网格世界”的人制作了一个网格,这样你就可以在网格中添加位置4 如果和“演员”面朝上,则会导致其面朝右侧:Java 如何使用操作符号(,-,*,/)与自定义对象交互?,java,operators,Java,Operators,我在AP Comp Sci A,我们正在做一个名为“网格世界”的案例研究。基本上有虫子和岩石在网格上移动(或不移动)。每个“参与者”都有一个“位置”,即他们的(行、列)连线及其方向。编程“网格世界”的人制作了一个网格,这样你就可以在网格中添加位置4 如果和“演员”面朝上,则会导致其面朝右侧: new Location l = myLocation + Location.HALF_RIGHT; 如何对其他对象执行此操作 myLocation 这是一个整数 Location.HALF_
new Location l = myLocation + Location.HALF_RIGHT;
如何对其他对象执行此操作
myLocation
这是一个整数
Location.HALF_RIGHT
这是一个int。您不能向对象添加+和-功能,但可以添加“add”和“subtract”方法
而且,您的代码甚至无法编译。我想你的意思是:
l = new Location(myLocation + Location.HALF_RIGHT);
或者,如果结果位置为int:
l = myLocation + Location.HALF_RIGHT;
这是一个整数
Location.HALF_RIGHT
这是一个int。您不能向对象添加+和-功能,但可以添加“add”和“subtract”方法
而且,您的代码甚至无法编译。我想你的意思是:
l = new Location(myLocation + Location.HALF_RIGHT);
或者,如果结果位置为int:
l = myLocation + Location.HALF_RIGHT;
您不能在Java中重载运算符,因此上述代码不可能。您不能在Java中重载运算符,因此上述代码不可能。用户指定
Location
为类,因此myLocation
应为对象。可能他想知道运算符重载,这在Java中是不可能的(是的,但我们不会告诉他)@OliCharlesworth只是开玩笑,你显然知道。@Oli well+
是字符串重载;)但是没有用户特定的运算符重载。用户指定Location
是一个类,因此myLocation
应该是一个对象。可能他想知道运算符重载,这在Java中是不可能的(是的,但我们不会告诉他)@OliCharlesworth只是开玩笑,你显然知道。@Oli well+
是字符串重载;)但没有用户特定的运算符重载。