java透明性和方法重写
对重写方法和重写方法的正确定义感到好奇。 在我的理解中,重写方法是子类中的方法,它用基类中相同的签名和返回类型重写该方法
然而,我看到一些源代码将被重写的方法称为子类中重写基类中方法的方法
那么,哪个是重写方法,哪个是重写方法
抱歉,如果这是一个有点愚蠢的问题
你可以在下面搜索框中键入要查询的问题!
对重写方法和重写方法的正确定义感到好奇。 在我的理解中,重写方法是子类中的方法,它用基类中相同的签名和返回类型重写该方法
然而,我看到一些源代码将被重写的方法称为子类中重写基类中方法的方法
那么,哪个是重写方法,哪个是重写方法
抱歉,如果这是一个有点愚蠢的问题
# 1 楼答案
您还可以阅读JLS中描述重写、实现、隐藏、重载等的部分,以获得更深入的理解
# 2 楼答案
来自Java Documentation的一个直接例子:
我使用这个例子的原因是,从现实世界的情况来看这个场景。A
Animal
可能具有某些一般特征。但是Cat
将有一些不同于泛型Animal
的特性,但某些特性是对泛型Animal
特性的改进。因此,Cat
似乎覆盖了Animal
特性(将包含覆盖方法)如果你对汽车感兴趣,再举一个简单的例子。比如说,有一个
Car
。它将有一个acceleration
方法。但是aFerrari
显然比aCar
有更好的acceleration
。但是,aFerrari
就是aCar
。所以,Ferrari
覆盖了Car
中的一个方法。所以,重写方法在子类中,而被重写的方法在基类中那么,你现在明白重点了吗?重写方法存在于子类中。但是被重写的方法存在于基类中
# 3 楼答案
假设我们有一个
class SubClass extends SuperClass
,那么:除此之外,wikipedia告诉我们: