重载重写对比(多态)
|
|
位置 |
方法名 |
参数列表 |
返回值 |
访问控制符 |
|
重载 |
同一类中 |
一样 |
不一样 |
无关 |
无关 |
|
重写 |
父类和子类 |
一样 |
一样 |
一样 |
子类不能比父类严格 |
访问控制符
|
访问控制符范围 | ||||
|
访问控制 |
private |
(缺省)default |
protected |
public |
|
同一类中 |
√ |
√ |
√ |
√ |
|
同一个包中其他类 |
* |
√ |
√ |
√ |
|
不同包中子类 |
* |
* |
√ |
√ |
|
不同包中非子类 |
* |
* |
* |
√ |
|
基本数据类型 |
包装类 |
|
byte |
Byte |
|
short |
Short |
|
int |
Integer |
|
long |
Long |
|
char |
Character |
|
float |
Float |
|
double |
Double |
|
boolean |
Boolean |
★创建线程的方法对比:
|
|
优点 |
缺点 |
|
继承Thread类 |
简单 |
无法再继承其他类 无法实现资源共享 |
|
实现Runnable接口 |
可以继承其他类 可以实现资源共享 |
复杂 |
在开发张大多数情况下选择使用实现Runnable接口的方式来创建线程
本文详细对比了方法重载与重写的区别,包括它们在类中的位置、方法名、参数列表、返回值及访问控制符的要求。同时,还介绍了通过继承Thread类与实现Runnable接口创建线程的不同之处。
1605

被折叠的 条评论
为什么被折叠?



