前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java高频面试题----面向对象篇

Java高频面试题----面向对象篇

作者头像
宇宙之一粟
发布2020-10-26 10:32:59
3860
发布2020-10-26 10:32:59
举报
文章被收录于专栏:宇宙之_一粟

面向对象篇

1. 面向对象编程(Oject Oriented Programming)的主要思想是什么?

  • 抽象(Abstraction)
  • 封装(Encapsulation)
  • 继承(Inheritance)
  • 多态(Polymoriphism)

2. 面向对象编程语言和基于对象编程语言有什么区别?

答:面向对象编程的语言,像Java、C++遵循--封装、抽象、多态和继承等面向对象编程的概念。

基于对象编程的语言遵循一些面向对象语言的特点,但是不提供多态和继承的支持。比如:Javascript、VBScript等。

基于对象的编程语言提供对对象的支持,您可以从构造函数中构建对象。 他们的语言还支持封装。 这些也称为面向原型的语言。

3. 在Java中,定义为对象中的实例变量的对象引用的默认值是什么?

Java中所有的实例变量的对象引用默认为null。

4. 为什么需要构造器?

Java是一种面向对象的语言,我们可以在其中创建和使用对象。构造函数是一段类似于方法的代码。它用于创建对象并设置对象的初始状态。

构造函数是一个特殊的函数,具有与类名相同的名称。

没有构造函数,就没有其他方法可以创建对象。

默认情况下,Java为每个对象提供默认的构造函数。如果我们重载了一个构造函数,那么必须实现这个默认的构造函数。

5. 为什么Java类中需要默认构造器?

答:如果没有其他构造器定义的话,Java类默认构造器都是自动创建的无参构造器。 Java规范声明,如果类中没有重载的构造函数,它将提供一个默认的构造函数。但这并没有说明在类中编写重载构造函数的情况。 我们至少需要一个构造函数来创建一个对象,这就是Java提供默认构造函数的原因。 当我们重载了构造函数后,Java会指定我们希望在代码中进行一些自定义处理。由于此原因,它不提供默认构造函数。但是它需要按照规范的默认构造函数。

6. Java中的构造器返回的值是什么?

答:当我们用Java调用构造函数时,它返回由它创建的对象。这就是我们用Java创建新对象的方式。

7. 构造函数可以继承吗?

答:不可以,Java不支持构造函数的继承。

8. 为什么在Java中构造函数不能是final,static或abstract?

答:如果将方法设置为final,则意味着我们不希望任何类覆盖它。 但是构造函数(按照Java语言规范)不能被覆盖。 因此,没有必要将其标记为最终的。 如果我们将方法设置为abstract,则意味着它没有主体,应在子类中实现。 但是,当使用new关键字时,将隐式调用构造函数。 因此,它需要一个主体。 如果我们将方法设置为静态,则意味着它属于该类,但不属于特定对象。 始终调用构造函数来初始化对象。 因此,没有必要标记构造函数为static。

5. 为什么Java类中需要默认构造器?

如果没有定义其他构造函数,则默认构造函数是Java会自动生成的无参构造函数。

根据Java规范,如果类中没有重载的构造函数,它将提供一个默认的构造函数。但这并没有说明在类中编写重载构造函数的情况。

我们至少需要一个构造函数来创建一个对象,这就是Java提供默认构造函数的原因。

当我们重载了构造函数后,Java会假定我们希望在代码中进行一些自定义处理。由于此原因,它不提供默认构造函数。但是它需要按照规范的默认构造函数。因此,它会给出错误。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面向对象篇
  • 1. 面向对象编程(Oject Oriented Programming)的主要思想是什么?
  • 2. 面向对象编程语言和基于对象编程语言有什么区别?
  • 3. 在Java中,定义为对象中的实例变量的对象引用的默认值是什么?
  • 4. 为什么需要构造器?
  • 5. 为什么Java类中需要默认构造器?
  • 6. Java中的构造器返回的值是什么?
  • 7. 构造函数可以继承吗?
  • 8. 为什么在Java中构造函数不能是final,static或abstract?
  • 5. 为什么Java类中需要默认构造器?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档