标题: 多线程的一题目 [打印本页] 作者: 王小刚 时间: 2012-5-7 21:16 标题: 多线程的一题目 public class Test extends Thread{
public void start{
for(int i = 0;i<10;i++){
System.out.println("i="+i);
}
}
public static void main(String[] args){
Test test = new Test();
test.run();
}
}
求输出结果..
重点是解释下原因... 作者: 蒋映辉 时间: 2012-5-7 21:23
楼主 你的代码是错的 没结果 编译不过
public void start后面少了括号。加上括号以后的运行结果是没有任何输出。
然后 你是在学多线程吧 Thread的子类中复写的是run方法,然后主类中才用start()方法来启用线程 改了下你的代码
package com.net;
public class Test4 extends Thread{
public void run(){
for(int i = 0;i<10;i++){
System.out.println("i="+i);
}
}
public static void main(String[] args){
Test4 test = new Test4();
test.start();
}
}
这样运行的结果是i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9作者: 黄或俊 时间: 2012-5-7 21:32
结果为【空】
首先你的start()方法就没有写对哟!后面有括号的
其次非静态方法没有对象调用不执行
你是想了解多线程吗?
多线程的创建方式有两种:
一:继承Thread类重写里面的run()方法,创建自定义类对象,并调用run()方法开启线程;
二:实现Runnable接口,重写run()方法,将自定义类的对象传入Thread类的构造方法中,用Thread类的引用调用run()方法作者: 永恒之翼网络 时间: 2012-5-7 23:06
楼主的代码有点小问题就 public void start{没有加(),应是下面那样的:
package com.baidu.Map;
public class Test extends Thread{
public void start(){
for(int i = 0;i<10;i++){
System.out.println("i="+i);
}
}
public static void main(String[] args){
Test test = new Test();
test.run();
}
}
程序的运行结果是没有结果,原因继承了Thread类却没重写run方法。继承的run方法只是一个空方法,所以在运行时,在控制台上什么看不到。作者: 付左军 时间: 2012-5-7 23:16
public class Test extends Thread{
public void start{//复写run方法,此处错误
for(int i = 0;i<10;i++){
System.out.println("i="+i);
}
}
public static void main(String[] args){
Test test = new Test();
test.run();//此处调用start();方法开启线程test.run();
}
} 作者: 李保成 时间: 2012-5-7 23:51
public class Test extends Thread{
public void start{
for(int i = 0;i<10;i++){
System.out.println("i="+i);
}
}
public static void main(String[] args){
Test test = new Test();
test.run();
}
}