private函数是不能被重写的,那么子类中定义的f()方法不是和父类中的f()相同
public class Main { public static void main(String args) { new Super().foo(); new Child().foo(); ((Super) new Child()).foo(); } public static class Super { private void foo() { System.out.println("Super.foo()"); } } public static class Child extends Super { private void foo() { System.out.println("Child.foo()"); } }}/* outputSuper.foo()Child.foo()Super.foo()*/public class Main { public static void main(String args) { new Super().foo(); new Child().foo(); ((Super) new Child()).foo(); } public static class Super { public void foo() { System.out.println("Super.foo()"); } } public static class Child extends Super { public void foo() { System.out.println("Child.foo()"); } }}/* outputSuper.foo()Child.foo()Child.foo()*//*至于为什么,我只能说设计如此,而且字节码也是这么生成的。查看生成的字节码对私有方法的调用是invokestatic,对public方法的调用是invokevirtual。invokestatic直接根据名义类型指定了具体方法。*/
推荐阅读
- 本科为英语专业,毕业两年从事外贸,现在想进入腾讯,想问下腾讯相应的岗位有哪些,还有咋才能被录用
- C语言指数函数代码
- 单例模式static函数必须在头文件中实现么
- 函数|你要来试试吗?高中数学丨越做越起劲的100道高中数学函数类压轴题
- 咋用c语言或java打点出函数图
- javascript函数的调用模式有哪几种
- 壹号车探|在颜值上已占领“高地”,这国产车配爱信8AT,定价多少能被认可
- Python中的函数、方法,例如list的append()方法和del函数
- 函数|原来……学霸是这样将数学提升到130+(附必修1-5学习重点及高中各阶段学习重点)
- Java中的 private static final存在的意义
