中易网

java问题,子类能不能重写父类的静态方法??

答案:4  悬赏:80  
解决时间 2021-02-21 22:58
java问题,子类能不能重写父类的静态方法??
最佳答案
当然不能,所谓静态,就是在运行时,虚拟机已经认定此方法属于哪个类。 专业术语有严格的含义,用语要准确."重写"只能适用于实例方法.不能用于静态方法.对于静态方法,只能隐藏(楼下说的可以重写那只是形式上的 ,并不满足多态的特征,所以严格说不是重写),重载,继承.
全部回答
上面这些答案.. 我不知道该怎么评价.. 我给你解释一下吧.. 现在你想一下 静态的方法是如何调用的.. 是类名打点直接调用这个方法吧..?比如A类有一个static的方法aaaa()我们要调用这个方法的时候 是不是这样调:A.aaaa();而不是实例化吧.. 不实例化也就不能用多态了.. 也就是所谓的父类引用指向子类实例.因为不能实例化 也就没有机会去指向子类的实例 既然没有机会去调用重写后的方法 你说呢.. 对于上面那位说"能"的朋友的回答, 他的代码.. 怎么说呢.. 既然你调用的时候 都是子类类名打点调用的方法.. 这算是重写么.. 当然了 看你怎么理解了.. 不过咱们所说的父类方法被重写 都是用于多态的.. 那我请问那位说"能"的朋友 你把静态方法重写了怎么用多态? [原创答案,复制可耻 -- l.a.r]
你可以写那个同名的方法,但是在调用时,如果你用的子类对象的引用就使用子类对象,如果使用父类对象的引用,就调用父类的方法。如:public class T { public static void main(String[] args) { S s = new S(); P p = s; P.a1();// 打印父类方法。 S.a1();// 打凶子类方法。 } }class P { public static void a1() { System.out.println("父类方法"); } }class S extends P { public static void a1() { System.out.println("子类方法 "); } }

编写测试类如下:

class father {// 父类  public static void f() {   system.out.println("我是父类的方法!!!");  } }

class child extends father {//子类  public static void f() {   system.out.println("我是子类的方法!! 我重写了父类的静态方法!!!!");  } }

public class testfc {//测试类  public static void main(string[] args){   child.f();   father.f();  }

}

运行结果如下:

我是子类的方法!! 我重写了父类的静态方法!!!! 我是父类的方法!!!

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
叶子幼儿园地址在哪,我要去那里办事
为什么火车都是靠左行驶的
北京大学-电子学系地址有知道的么?有点事想
父母和孩子的缘分有多少
中国建设银行团结路ATM地址在什么地方,想过
美图手机的广角是多少啊?
csol咆哮怒焰 m14 会升级么?
如何规划人生,指定人生目标
南京大学苏州高新技术研究院这个地址在什么地
哪首歌的歌词有黑土地,高粱米
曾字结尾的成语
母爱像什么排比段(至少4段)
新疆国君棉胎地址有知道的么?有点事想过去
给淘宝店的衣服拍照,不用模特,一般多少钱
德国爱他美白金版添加速溶剂了吗
推荐资讯
钻石75分 H色 IF 3EX 和 70分 F色 VS1 2EX+VG
安桥功放配什么音箱,安桥功放配什么音箱知识
js中 [1][0] 表达的什么意思
茗香茶行地址在什么地方,想过去办事
小可爱前面加什么?
南昌大学信息安全专业是不是真的很糟
关闭QQ空间后,里面的东西还会在吗
梦见吃玉米馒头可香了
乌龙茶就是铁观音吗?把它跟干苦瓜片泡一起喝
珠海福生医疗器械有限公司待遇怎么样
饥荒 怎么获得铁
手里有8万可以做什么小生意维持生活吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?