static方法-----重载

sling2007 2011-04-17 05:15:46
Java方法执行的时候,分成编译时绑定和运行时绑定,
编译时绑定,比如final方法static方法会在编译时明确知道 调用的哪个方法。
而且构造方法是隐式的static方法。
运行时绑定则使得Java方法的运行具有多态性,分成重载和重写。

我的问题是:
经常会有一些static方法 出现重载的样子,构造函数出现重载的样子,那么这是多态吗?还是只是样子这样而已?
static方法是和类绑定的类方法,也就是和其它类无关的,那么static方法有重写吗?

...全文
307 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhuang007 2011-04-18
  • 打赏
  • 举报
回复
多态的基本概念是一个接口有不同的实现版本(方法)
包括重载和重写(覆盖)

重载是方法名一样,参数不一样
重写是通过继承覆盖父类的方法

》》经常会有一些static方法 出现重载的样子,构造函数出现重载的样子,那么这是多态吗?
这个是重载,也是多态(多态分为静态多态和动态多态)

》》static不能重写,原因参考http://topic.csdn.net/u/20080319/13/fac93542-5cbf-45b6-bbb5-66ba0fac9956.html
sling2007 2011-04-18
  • 打赏
  • 举报
回复
解释的很好,
顶一下
dong_very_good 2011-04-17
  • 打赏
  • 举报
回复
重载是多态的一种,static方法不能重写
fafi09 2011-04-17
  • 打赏
  • 举报
回复
重载和重写是不一样的,重载是静态多分派,重写是动态单分派。重载是编译期就准备好的,重写是执行期的多态。重写才会构成多态。静态的方法或变量不属于某一个对象,编译期就已经准备好。

经常会有一些static方法 出现重载的样子,构造函数出现重载的样子,那么这是多态吗?
>>重载不是多态。

static方法是和类绑定的类方法,也就是和其它类无关的,那么static方法有重写吗?
>>重写的目的是构成多态,多态是执行期的。static重写没有意义,不构成多态,也不能称之为重写。

这是我的认识,请参考,欢迎批评指正。
龙四 2011-04-17
  • 打赏
  • 举报
回复
重载与多态没有一点关系

static方法不存在重写

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧