最近在学习Thread,在Clerk里面定义了一个构造方法,可是在进程测试的时候,发现构造方法不能调用,总是出现错误,然后上网查资料,自己调试,最终发现了问题,那就是
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
我把构造方法里面,直接加入了一个void返回类型,这就导致了错误。
class clerk{
}
public class Productor implements Runnable {
Clerk clerk;
public Productor(Clerk clerk){ //这个就是错误所在,product是构造方法,不能有返回值。
this.clerk = clerk;
}
public class TestProduct {
public static void main(String[] args) {
Clerk celrk = new Clerk();
Productor p1 = new Productor(clerk);
Thread t1 = new Thread(p1);//创建了一个生产者
Thread t2 = new Thread(p1);
t1.start();
t2.start();
}
}
另外,构造方法,也有其他的规则:
构造方法是一种特殊的方法,与一般的方法不同是: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。