- Java code
class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类 private String name ; // 表示线程的名称 public MyThread(String name){ this.name = name ; // 通过构造方法配置name属性 } public void run(){ // 覆写run()方法,作为线程 的操作主体 for(int i=0;i<10;i++){ System.out.println(name + "运行,i = " + i) ; } }};public class RunnableDemo01{ public static void main(String args[]){ MyThread mt1 = new MyThread("线程A ") ; // 实例化对象 MyThread mt2 = new MyThread("线程B ") ; // 实例化对象 Thread t1 = new Thread(mt1) ; // 实例化Thread类对象 Thread t2 = new Thread(mt2) ; // 实例化Thread类对象 t1.start() ; // 启动多线程 t2.start() ; // 启动多线程 }};
在这“Thread t1 = new Thread(mt1) ;”调用了Thread的一个构造方法“Thread(Runnable target) ”,构造方法是用之前不用先声明么?比如MyThread构造方法已经在类中声明过了,是不是java自带的构造方法不用声明就可以直接是用?
------解决方案--------------------
这个和多态有关系么,这里又不涉及继承,明确告诉楼主:调用构造方法是不用什么声明的。你说的“MyThread构造方法已经在类中声明过了”是不是指你在MyThread类中定义过了?而Thread 类的构造方法也在Thread类中定义过了,只不过Thread类是预先编写好的类库,如你所说:“java自带的构造方法”。