我是面向对象编程的新手,我正在尝试声明并初始化左,但我不知道该怎么做。我试过了
left = new Counter(4, left.mod);
但是Netbeans说的是
不兼容的类型:int无法转换为Number
这不是真正的计划。
public class Number{
private int mod;
public Number(int modulus, Number left) {
mod = modulus;
//how to declare left?
}
答案 0 :(得分:2)
看起来你正在尝试实现某种链表等。显然你想要留下来记住它,所以声明它就像这个类的任何其他普通属性一样。
public class Number{
private Number left;
private int mod;
public Number(int modulus, Number left) {
mod = modulus;
this.left = left;
}
}
答案 1 :(得分:1)
如果确实需要与类中具有相同名称的两个类进行交互,则必须使用完全限定名称来引用其中一个。因此,如果您想在自己的java.lang.Number
课程中引用Number
,那么您可以
public class Number{
private java.lang.Number left;
private int mod;
public Number(int modulus, java.lang.Number left) {
mod = modulus;
this.left = left;
}
}
(请注意,我对真正的强调表明,正如您可能已经猜到的那样,给一个与常用库类型相同的名称通常比给它的值更麻烦) 。