黑马程序员技术交流社区
标题:
多线程代码中的问题
[打印本页]
作者:
冯瑞君老师
时间:
2011-12-19 14:14
标题:
多线程代码中的问题
class ThreadTest{
public static void main(String[] args){
new Thread()//我不明白这个地方,告我下这个地方的全写是怎么写的。
{
public void run()
for(int x=0;x<100;x++){
s.o.p()
}
}
}.start();
for(int x=0;x<100;x++){
s.o.p()
}
for(int x=0;x<100;x++){
s.o.p
}
作者:
刘基军
时间:
2011-12-19 14:31
匿名内部类,
实际就是创建一个{【继承了Thread类并将run()方法进行了重写】的子类}的实例,然后该实例调用了start()方法,来启动线程。
等价于:
class ThreadTest extends Thread
{
public void run()
for(int x=0;x<100;x++)
{
s.o.p()
}
}
ThreadTest tt = new ThreadTest();
tt.start();
复制代码
使用匿名内部类的方法,主要可以简化书写。
作者:
马德强
时间:
2011-12-19 14:33
这是匿名内部类的使用。
也可以这样写:
Thread t =new Thread(){
public void run()
{
// do sth...
}
};
t.start();
作者:
应国炎
时间:
2011-12-19 14:52
是一个匿名内部类
作者:
为梦而战
时间:
2011-12-19 15:10
Thread t1=new Thread()
{
public void run()
for(int x=0;x<100;x++){
s.o.p()
};
t1.start.
作者:
曾运
时间:
2011-12-19 16:12
本帖最后由 曾运 于 2011-12-19 16:13 编辑
这是一个匿名内部类:
1,匿名内部类其实就是内部类的简写格式。
2,定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。
3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}
4,其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。可以理解为带内容的对象。如new Thread(){ 这里重写Thread中的run()方法 }
new Thread(){ 这里重写Thread中的run()方法 } -----》是一个对象,一般只用一次,没有引用指向该对象,该对象继承自Thread类,所以能调用start()方法。
//其实该段代码相当于:
Thread t=new Thread()
{
public void run()
for(int x=0;x<100;x++)
{
System.out.println(x);
}
};
t.start();
复制代码
作者:
刘健
时间:
2011-12-19 20:11
匿名内部类,把可以单独提出来的线程写在了类里
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2