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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© I空空 中级黑马   /  2014-12-24 12:25  /  2707 人查看  /  22 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么静态只能被静态重写啊,虽然我也明白子父类中的静态方法都是随着类的加载而加载,在子类中重写父类的静态方法,我就偏偏把写成成员方法不可以吗,思路有点乱

22 个回复

正序浏览
青衫禅客 发表于 2014-12-24 13:44
静态和非静态的内存存储位置都不一样,你怎么重写,就像你准备来我家把我干掉,但是你进的我邻居家,找都找 ...

哈哈,你这回复的太经典了,一语命中
回复 使用道具 举报
静态方法执行前期绑定,并且不可被override,你这样实际上是重新定义了一个static方法,和上面的方法不是override关系,就好像你试图override一个private方法一样。不信你可以在public static void bark() 前面加上个@Override标记,就会有错误提示了。
回复 使用道具 举报
涨知识了,我的理解是,保留父类的属性,在重写他的内容。
回复 使用道具 举报
这是静态的特性  就如非静态可以调用静态但反之不可以
回复 使用道具 举报
青衫禅客 发表于 2014-12-24 13:44
静态和非静态的内存存储位置都不一样,你怎么重写,就像你准备来我家把我干掉,但是你进的我邻居家,找都找 ...

老毕特性暴露无遗
回复 使用道具 举报
enjoy 中级黑马 2014-12-26 10:41:21
18#
静态方法出现的早,类方法出现的晚。静态的可以不用实例化类直接使用
回复 使用道具 举报
kk8023 来自手机 中级黑马 2014-12-26 08:56:08
17#
靠谱,赞一个。。。。。来自: iPhone客户端
回复 使用道具 举报
感觉学的太浅了,好像什么都会,又觉得什么都不会。
回复 使用道具 举报
Honelyboy 发表于 2014-12-25 21:09
静态方法不创建对象就可以被类名调用,其实静态方法不存在重写的。之所以要重写是因为创建了对象。 ...

这个写的不错,静态方法优先于对象存在。。
回复 使用道具 举报
楼上说的对               
回复 使用道具 举报
静态方法不创建对象就可以被类名调用,其实静态方法不存在重写的。之所以要重写是因为创建了对象。
回复 使用道具 举报
青衫禅客 发表于 2014-12-24 13:44
静态和非静态的内存存储位置都不一样,你怎么重写,就像你准备来我家把我干掉,但是你进的我邻居家,找都找 ...

这兄弟说中了
回复 使用道具 举报
静态方法属于类方法。 成员方法是对象的方法。
回复 使用道具 举报
板凳解释得很详细了。一句话就是是静态优先于对象而存在~
回复 使用道具 举报
嘿嘿。。。
回复 使用道具 举报
陈召 中级黑马 2014-12-24 21:22:44
8#
看到前排的解释很给力啊,很有毕姥爷的风范。
回复 使用道具 举报
这是很明显的区别, 对象存在前就存在了
回复 使用道具 举报
樊小乐 发表于 2014-12-24 14:52
JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关 ...

好详细。。赞
回复 使用道具 举报
kerner 发表于 2014-12-24 12:42
静态方法和private和 final修饰的方法不能被重写,在编译期间就已经确定调用了。 ...

这样理解靠谱
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马