遇到the static method cannot hide instance method from object可能是因为一下原因。

子类重写父类的方法中有10种要求,其中二条是

1、子类不能用 静态方法 重写 父类的非静态方法。  你犯的就是这个错误。与protected关键字无关

2、同理 子类不能用 非静态方法 重写 父类的静态方法

1、2即是说,子类要重写父类的方法,要么都是静态的,要么都是非静态的

另外还有一点,虽然你没犯这个错,但是也要小心
你父类的代码访问权限是 protected的,子类重写后是public的,这样肯定没问题

但是要注意,子类重写父类的方法,子类方法的访问权限 >= 父类的方法的访问权限

猜你喜欢

转载自blog.csdn.net/tobin_xu/article/details/78618400