黑马程序员技术交流社区

标题: 关于创建线程的问题 [打印本页]

作者: 卜弦    时间: 2013-10-11 15:24
标题: 关于创建线程的问题
本帖最后由 卜弦 于 2013-10-11 16:26 编辑

各位战友我们都知道线程创建时无论继承Thread类还是实现Runnable接口,都需要覆盖run方法。但是run方法的权限一定是public,今天一不小心没有加public,我发现无论是那种创建方法编译时都会提示出错: Demo中的run()无法实现Runnable中的run()  正在尝试分配更低的访问权限;以前为public。
请问谁知道是为什么吗?run()一定要用public修是吗?还能用其他权限么?

作者: 刘渝灵    时间: 2013-10-11 15:51
子类在重写父类或者实现接口中的方法时访问权限必须大于等于父类(接口)中的方法。接口中的方法全是public和abstract的,因此在实现接口中的方法时访问权限只能是public。Thread类也是实现了Runnable接口,原因相同。
作者: 卜弦    时间: 2013-10-11 16:08
刘渝灵 发表于 2013-10-11 15:51
子类在重写父类或者实现接口中的方法时访问权限必须大于等于父类(接口)中的方法。接口中的方法全是public和 ...

Thread和Runnable中的run方法的权限修饰好像只有void,没有加public吧
作者: 卜弦    时间: 2013-10-11 16:10
刘渝灵 发表于 2013-10-11 15:51
子类在重写父类或者实现接口中的方法时访问权限必须大于等于父类(接口)中的方法。接口中的方法全是public和 ...

对  你说的是对的!刚才看错了!!!他们的确是public~  不好意思  谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2