JAVA构造器

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:40:40
public class Leaf {
int i = 0;
Leaf increment() { 为什么要用Leaf 不用void
i++;
return this;
}
void print() {
System.out.print("i = " + i);
}
public static void main(String [] args) {
Leaf x = new Leaf();
x.increment().increment().increment().print();
}
}

构造器是不能加任何返回值的..因为构造器使用的方法一般是在创建这个类的实例中用到..也就是说这个构造器硬要说他的返回值..那就是他本身..所以这里就是LEAF
比如
Leaf l=new Leaf();
这里创建了一个Leaf的实例l 靠的就是构造器 构造器返回了这个类..如果返回void ...那l不也变成void了吗

如果是void
x.increment().increment().increment().print(); 这句话就报错!

构造器 必须和方法名一样 才可以是构造器
如果是void的话 那是个主方法 是个默认形式的
懂了吗?

你的代码中没有定义构造函数。上面的人也是在瞎说。。。

increment()这个方法的作用是让Leaf的成员变量i自曾, 如果它的返回值为void类型的话,那么就不能实现main方法中x.increment().increment().increment()这种操作了,而只能写成x.increment(); x.increment(); x.increment(); 懂了没?