oop面试题
13 OOP的原则有哪些?
答:
- 抽象
- 封装
- 继承
- 多态
14 面向对象的语言和基于对象的语言之间的区别是什么?
答:面向对象的编程语言如Java和C++遵循OOPS(如封装、抽象、多态性和继承)等概念。基于对象的编程语言遵循OOOPS的一些特性,但它们不支持多态性和继承,javaScript、VBScript等基于对象的编程语言为Objectsand提供了支持,可以从构造函数构建对象。他们的语言支持封装。这些也被称为原型语言。
15 在Java当中成员变量的引用类型数据默认值是什么?
答:Java中的所有成员变量的引用类型对象默认值都是null。
16 为什么需要构造器?
答:java是一种面向对象的语言,在其中我们创建和使用对象。构造函数是类似于方法的一段代码。它是用于创建对象并设置对象的初始状态。构造函数是一个与类同名的特殊函数。没有构造函数,就没有其他方法来创建对象。默认情况下,Java为每个对象提供默认构造函数。如果我们重载一个构造函数,那么我们必须实现默认的构造函数。
17 Java当中为什么需要默认构造器?
答:默认构造函数是在没有定义其他构造函数的情况下由Java自动生成的无参数构造函数。Java规范表明,如果类中没有重载构造函数,它将提供默认构造函数。但它并没有说明在一个类中编写一个覆盖过多的构造函数的情况。我们需要至少一个构造函数来创建一个对象。
18 Java构造器有返回值吗?
答:没有,根据sun的规范说明:
Constructor declarations look like method declarations—except that they use the name of the class and have no return type.
构造器声明很像方法的声明,特殊的是它使用的名字必须是类名并且没有返回值类型。
19 Java当中可以继承构造器吗?
答:Java不支持继承构造器。