A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 我来也 中级黑马   /  2015-4-14 09:48  /  1912 人查看  /  27 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么要覆盖线程中的run方法

27 个回复

正序浏览
顶!!!!!
回复 使用道具 举报
学习了·······
回复 使用道具 举报
对于你这个问题大家已经回答的很充分了,java规定就是这样,没有为什么,除非你自己写一个编程语言。我好奇的一个问题是:楼主你的黑马币怎么可以成为负数?望解惑
回复 使用道具 举报
因为需要执行的代码是放在run方法内,所以要覆盖
回复 使用道具 举报
我是来看美女的
回复 使用道具 举报
符合面向对象的设计思想
回复 使用道具 举报
-4个黑马币,这是信用卡么还可以透支。。。。,都换成技术分了么?
回复 使用道具 举报
覆盖就是重写,为什么要重写run 方法这得问为什么你掉用start方法时它自动掉run方法
回复 使用道具 举报
林吉前 发表于 2015-4-14 22:18
这是一个设计模式 在线程设计之初 有一个设计模式叫模板方法模式 就是回调  是GOF23设计模式中的一种 有兴 ...

哦,设计模式
回复 使用道具 举报
Grady 发表于 2015-4-14 22:09
因为run()方法是每一个线程启动时(Start())时运行的,每个线程都会去执行run()方法,所以形成了多线程。run ...

恩,明白了
回复 使用道具 举报
sunspot 发表于 2015-4-14 18:39
run方法,里面执行的是你想要让程序运行的程序,可以自己让线程运行自己写的程序。重写run方法是因为,不论 ...

恩,知道了
回复 使用道具 举报
aanihao 发表于 2015-4-14 12:17
不是覆盖哦。是重写,你要把你希望线程去做什么,在run方法里边写出来才可以哦。 ...

覆盖不就是重写吗
回复 使用道具 举报
xlunaer 发表于 2015-4-14 10:10
run()方法是接口Runnable的一个抽象方法,抽象一定要重写,其次,run()方法是你这个线程运行的内容。你要干 ...

是这样啊,谢谢了
回复 使用道具 举报
林吉前 发表于 2015-4-14 22:18
这是一个设计模式 在线程设计之初 有一个设计模式叫模板方法模式 就是回调  是GOF23设计模式中的一种 有兴 ...

而是在其父类的另一个方法 调用了这个run方法
回复 使用道具 举报
这是一个设计模式 在线程设计之初 有一个设计模式叫模板方法模式 就是回调  是GOF23设计模式中的一种 有兴趣可以去看看 简单意思就是在父类就创建一个抽象run方法 父类就调用了这个未实现的抽象方法 只要子类实现了这个方法 之后创建线程执行此方法其实并没有直接执行这个run、方法
回复 使用道具 举报
明确功能,重写,具体化run的内容
回复 使用道具 举报
Grady 中级黑马 2015-4-14 22:09:44
12#
因为run()方法是每一个线程启动时(Start())时运行的,每个线程都会去执行run()方法,所以形成了多线程。run()方法里写的是你要施行的功能。所以要重写run()方法。
回复 使用道具 举报
run方法,里面执行的是你想要让程序运行的程序,可以自己让线程运行自己写的程序。重写run方法是因为,不论你是继承Thread还是实现Runnable接口去实现多线程,run()方法里都是父类的。
回复 使用道具 举报
IT杰 中级黑马 2015-4-14 18:22:39
10#
run 方法是运行线程时需要执行的代码
run方法是个空方法,如果用户不覆盖它的话,它就什么都不做直接返回。用户应该覆盖该方法,在里面规定该线程应该干些什么   
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马