java中父类的静态方法不能被重写
来源:互联网 发布:2016天猫双11数据分析 编辑:程序博客网 时间:2024/05/28 18:43
我们通过下面代码来测试:class Parent{static void a(){System.out.println("Parent");}}class Children extends Parent{ static void a(){System.out.println("Children");}} class Main {public static void main(String[] args) {Parent parent = new Parent();// (1)Parent children = new Children(); //(2)Children children1 = new Children(); //(3)parent.a();children.a();children1.a();}}测试结果
Parent
Parent
Children
代码(1),(3)测试如常,很容易理解,看似并没有什么不同
而代码(2)显示的结果却是Parent。
按照常理来说应该是Children,为什么会是Parent?
这是因为用static修饰的方法不能被重写,代码(3)测试结果之所以会是Children是因为它相当于自己定义了一个a()函数,注意这个函数并不是Parent里的a()函数,(就像 现实中两个名字相同的学生一样,他们只是名字相同并非同一个人),这就解释了为什么代码三会的到Children而红色代码二会得到Parent。
1 0
- java中父类的静态方法不能被重写
- Java中父类的静态方法不能被重写
- java中父类的静态方法不能被重写
- java静态方法的重写,为什么不能?
- Java的静态方法不能被重写(详解!)
- Java中为什么静态方法不能被重写?为什么静态方法不能隐藏实例方法?
- java为什么不能重写静态方法
- Java的父类静态方法不能被重写,只能被隐藏
- java静态方法不能多态也不能够重写
- java静态方法不能多态也不能够重写
- java中静态(static)的方法为什么不能重写(override)
- java中静态(static)的方法为什么不能重写(override)
- JAVA中的static修饰的方法不能被重写
- 子类为什么不能重写父类的静态方法
- 子类为什么不能重写父类的静态方法
- 子类为什么不能重写父类的静态方法
- 子类为什么不能重写父类的静态方法
- 子类为什么不能重写父类的静态方法
- CSS sprite
- 第一次部署服务器,服务器获取不到bitbucket上的代码
- 浅谈 Adaboost 算法
- ios-控件不显示的问题 总结
- HDU1009
- java中父类的静态方法不能被重写
- 苹果app上线流程
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
- 目标文件ELF中的内容
- Qt4项目迁移Qt5项目一问题解决方法:#include <QtGui/QApplication> ---> No such file or directory
- 初学栈与队列
- QTextedit里面添加东西,而且每次添加的新内容要在最上端显示,原来的内容往下移
- HDU5432-Pyramid Split
- Regional Changchun Online--Travel(最小生成树&& 并查集)