阅读程序段,回答问题:
ClassB中(method1、method2、method3、method4)四个方法,方法1覆盖了父类方法;方法2隐藏了父类方法。
简而言之
静态方法的调用的是通过在编译器静态绑定的,而实例方法的调用是在运行时动态绑定的,2者的调用的方式不同,所以二者只能存在其一,否则会存在歧义!
因为调用方式一致,不会像上面造成歧义,虽然父类和子类都定义了同样的函数,但是编译器会根据对象的静态类型激活对应的静态方法的引用,造成了重写的假象,实则不是重写!
但具体是什么呢,参见:http://blog.csdn.net/dawn_after_dark/article/details/74357049