【发布时间】:2019-07-06 13:21:16
【问题描述】:
我正在学习用 Java 创建类,但遇到了奇怪的行为。
我想创建一个名为My_class 的类,它有一个名为add 的方法。该方法应采用My_class 的成员并将其添加到括号中指定的My_class 的另一个成员中。
例如,运行这个:
My_class first = new My_class(2);
My_class second = new My_class(6);
My_class answer = first.add(second);
System.out.println(answer);
应该打印:
8
这是我用于My_class 的代码,但我一直遇到关于My_class 如何处理+ 运算符的问题。我认为由于My_class 是从int 继承的,所以应该没有问题,但显然我在这里遗漏了一些基本的东西。
public class My_class {
/* Data members*/
private int integer;
/* Constructors */
public My_class(int i) {integer = i;}
/* Methods */
public My_class add(My_class new_integer) {
return integer + new_integer;
}
我得到的不是预期的结果:
The operator + is undefined for the argument type(s) int, My_class
提前感谢您的帮助!
【问题讨论】:
-
您想添加两个 int 而不是 int 和一个对象。应该是
return integer + new_integer.integer; -
您在问题中提到了
plus和add。大概你的意思是add在这两个地方?
标签: java class inheritance methods operator-keyword