>我有两个类,分别名为base
和derived
,具有相同的方法名称和签名假设M1,那么,如果我创建derived
类的实例并访问M1方法derived
那么类M1将被调用为带有警告的输出,请使用 new 关键字,如果方法隐藏是有意的,如果我在derived
类中放置一个new
关键字仍然是派生的M1方法类将作为输出调用,但这次没有警告。因此,如果我们在没有new
关键字的情况下得到相同的响应,并且仍然进行了方法隐藏,那么使用new
关键字有什么必要呢?
存在警告是为了提醒程序员通过使用new
或override
来澄清他们的意图。如果您确实打算隐藏基本方法,请使用new
,警告就会消失。或者,如果您打算实际覆盖基方法,那么感谢编译器指出错误并使用override
。