覆盖和重载Java

时间:2013-04-13 01:19:14

标签: java methods overloading override

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

我们可以在没有继承另一个类的情况下重写方法吗?为什么呢?

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

4 个答案:

答案 0 :(得分:1)

  

我们可以在没有继承另一个类的情况下重写方法吗?为什么呢?

没有。覆盖意味着您覆盖来自超类的方法。

  

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

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

您是否阅读过docs

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我们可以在没有继承另一个类的情况下重写方法吗?为什么?

没有。覆盖本身意味着覆盖行为(继承类的方法)

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

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

我建议你详细介绍oops概念(包括多态)作为java语言的基础

以下是您要找的内容

Overriding and Overloading

答案 3 :(得分:0)

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

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

我希望,这是有用的。美好的一天!