-2

我有两个问题。我试图理解覆盖和重载

我们可以在不继承另一个类的情况下覆盖方法吗?为什么?

我们可以在不继承另一个类的情况下进行方法重载吗?为什么?

4

4 回答 4

1

我们可以在不继承另一个类的情况下覆盖方法吗?为什么?

不,覆盖意味着您覆盖超类中的方法。

我们可以在不继承另一个类的情况下进行方法重载吗?为什么?

是的。重载的方法可以出现在同一个类中,但具有不同的签名。

你读过文档吗?

于 2013-04-13T01:22:02.327 回答
0

第一个问题不。覆盖方法意味着您继承了父调用,并且正在用您在子类中定义的方法替换它的方法实现。如果没有父方法,则不能覆盖父方法。

对第二个问题是。重载意味着您​​有多个具有相同名称的方法,但您给它们不同的签名(参数),这样它们就不会相互冲突。这与面向对象编程无关。

于 2013-04-13T01:22:50.113 回答
0

我们可以在不继承另一个类的情况下覆盖方法吗?为什么?

不,因为覆盖本身意味着覆盖行为(继承类的方法)

我们可以在不继承另一个类的情况下进行方法重载吗?为什么?

是(重载意味着提供同名但不同签名的方法)

我建议您详细了解 oops 概念(包括多态性)作为其 java 语言的基础

这是您正在寻找的

覆盖和重载

于 2013-04-13T01:23:29.193 回答
0
  1. 覆盖意味着您正在处理两种方法:一种在超类中,另一种在子类中。所以,我们可以说覆盖只存在于继承类型的问题中。

  2. 重载意味着我们在同一个类中有两个具有相同名称的方法,但这两个方法的参数类型和参数数量不同。

我希望,这很有用。再会!

于 2021-07-06T07:38:43.927 回答