爪哇2博客
爪哇2博客

爪哇中的方法重载和覆盖面试问题

方法重载和覆盖面试问题

在本教程中,我们将看到 方法重载压倒一切 面试问题。

1.什么是方法重载?

回答:
如果两个或多个方法具有相同的名称,但参数不同,则称为方法重载。
例如:
数组’的sort方法有许多重载版本。您可以对double,int,String等数组进行排序。

2.方法重载的规则是什么?

方法重载规则:

参数数 重载的方法可以具有不同数量的参数
日期类型 重载方法的参数可以具有不同的数据类型
返回类型 返回类型可以更改,但参数的数量或参数的数据类型也应更改。
参数顺序 如果您更改参数序列,那么如果您具有不同的数据类型参数,它也是有效的方法重载。
建设者 能够 be overloaded

3. 能够 we overload 静态的 爪哇中的方法?

回答:
是的,我们可以在Java中重载静态方法,但不能覆盖它们。

4. 能够 you overload 主要 方法?

回答:
是的,您可以重载main方法,但是当JVM调用您的类时,将仅使用具有签名公共静态无效main(String [] args)的方法。

5.我们可以在方法重载时仅更改返回类型吗?

回答:
您不能,如果仅更改返回类型,编译器就无法确定要调用的方法,这将变得模棱两可,这就是为什么您不能仅更改返回类型的原因。

6.什么是方法重写?

回答:
如果子类具有与基类相同的方法,则称为方法重写。换句话说,如果子类为父类之一中存在的任何方法提供了特定的实现,则称为方法重写。

7.方法重写的规则是什么?

方法覆盖的规则:

争论 一定不能改变
返回类型 能够’除协变(子类型)返回值外的t变化
访问修饰符 一定不要限制更多。可以减少限制。
例外情况 可以减少或消除但不能抛出新的/广泛检查的异常
建设者 能够 not be overridden
静态方法 能够 not be overridden
最终方法 能够 not be overridden

8.您可以覆盖 静态的 爪哇中的方法?

回答:
不,您不能在Java中覆盖静态方法。静态方法属于类级别而不是对象级别。您可以在子类中创建具有相同名称的静态方法,它会’t给您带来编译错误,但这被称为方法隐藏。你赢了’从而获得压倒性的行为。

9. 能够 you override private 爪哇中的方法?

回答:
不,您不能在Java中覆盖私有方法。私有方法对子类不可见,因此您不能覆盖它,而只能将其隐藏。

10. 能够 you override 最后 方法?

回答:
因为final方法是不可重写的,所以您声明一个final方法是因为您没有’不想在子类中覆盖它。

11.什么是静态绑定?

回答:
编译Java程序时。在编译过程中,编译器将方法绑定到实际方法。这称为静态绑定,方法重载绑定在编译时发生。

12.什么是动态绑定?

回答:
在运行时发生的覆盖方法的绑定称为动态绑定。

13. 爪哇中的协变量返回类型是什么?

协变返回类型意味着如果子类覆盖了任何方法,则该覆盖方法的返回类型可以是基类方法的返回类型的子类。
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
组织.Arpit.爪哇2blog;
 
上市 基类 {
 
上市 A m1() {
系统..打印(“在BaseClass方法中”);
返回 A();
}
 
上市 静态的 虚空 主要( args[])
{
基类 b= 子类();
b.m1();
}
}
 
子类 延伸 基类 {
上市 B m1() {
系统..打印(“在子类方法中”);
返回 B();
 
}
}
 
A {
}
 
B 延伸 A {
 
}
 

上面的例子是协变量返回类型的完美例子。

14.预测以下程序的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
上市 方法重载示例 {
 
上市 虚空 方法Test(目的 目的)
{
  系统..打印(“调用对象方法”);
}
 
上市 虚空 方法Test( 目的)
{
  系统..打印(“调用String方法”);
}
 
上市 静态的 虚空 主要( args[])
{
  方法重载示例 = 方法重载示例();
  .方法Test(空值);
}
}
 

输出:

1
2
3
 
呼唤 方法
 

说明:
当我们有两个相同方法的重载版本时,JVM将始终调用最特定的方法。

15.预测以下程序的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
进口 爪哇.io .IOException;
 
上市 MethodOverrdingTestMain {
上市 静态的 虚空 主要([] args) {
  B b= B();
  尝试 {
   b.方法();
  } 抓住 (例外 e) {
   e.printStackTrace();
  }
}
 
}
A{
 
上市 虚空 方法() 抛出 IOException
{
 
}
}
B 延伸 A{
 
上市 虚空 方法() 抛出 例外
{
 
}
}
 

输出:

1
2
3
 
编译 时间 错误
 

说明:
由于重写方法抛出的异常不能再严格限制,所以会导致编译时错误。

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 爪哇面试题
    22 May

    爪哇面试题

    我写了很多Java面试问题,这是所有Java面试问题的索引。我将继续在此帖子中添加更多面试问题。核心Java核心Java面试问题此列表包括前50个核心Java面试问题。无论您是新手还是经验丰富的程序员,此面试问题都将[…]

  • 爪哇中的扎实原则
    11月9日

    爪哇中的SOLID原理

    在这篇文章中,我们将看到Java中的5条SOLID原则。罗伯特·C·马丁(Robert C. Martin)提出了五项面向对象的设计原则,并使用了缩写S.O.L.I.D。该首字母缩写词的每个字母都讨论Java的原理。当您结合使用S.O.L.I.D的所有原理时,对您来说会变得更加容易[…]

  • 爪哇面试问题2年经验
    11月8日

    爪哇面试问题2年经验

    在本文中,我们将看到2到3年的Java面试问题。这些是新生(0-3年的经验)最常被问到的面试问题。这个问题清单将帮助您破解Java面试。在此之前,我已经分享了详细的答案,您可能会发现它也很有帮助。一世 […]

  • 爪哇面试问题5年经验
    11月8日

    爪哇面试问题5年经验

    在这篇文章中,我们将看到5到6年的Java面试问题。当您有5年Java开发人员的经验时,您需要对集合,多线程概念有很好的了解。如果您正在寻找以下查询,那么这篇文章也将为您提供帮助。 爪哇面试题[…]

  • 爪哇棘手的面试题
    9月11日

    爪哇技术面试题

    在这篇文章中,我们将看到Core 爪哇访谈中要求的顶级Java技术面试。我涵盖了很多关于Java编程的面试问题。这是您可能会发现有用的其他Java面试问题的列表。核心Java面试题Java 馆藏面试题Java 串面试题OOPs 爪哇中的面试题[…]

  • 春季靴面试问题
    8月06

    春季靴面试的前15个问题

    在这篇文章中,我们将看到15个有关Spring Boot面试的热门问题及其答案。如果您想了解更多有关Spring Boot的信息,可以阅读Spring Boot教程。如果您正在寻找以下查询,那么这篇文章也将为您提供帮助。 春季靴面试问题3年的经验Spring Boot面试[…]

Comments

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客