Java核心面试宝典】Day9、面向对象常见面试题汇总(四)

网友投稿 528 2022-05-29

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!

用坚持缔造技术、用指尖敲动未来!

和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣!

在此专栏《Java核心面试宝典》记录我们备战梦想的【day 9】!

【Java核心面试宝典】Day9、面向对象常见面试题汇总(四)

今天继续和大家分享在面向对象中类与接口方面的常见面试题。不要小看任何一个基础技术点,往往最基础的才是最会考察的内容。

1、抽象类和接口是否可以被实例化?

抽象类和接口都不能通过new操作符来创建实例,只能通过具体类创建实例。

2、包含抽象方法的类是否必须被声明为抽象类,抽象类是否必须包含抽象方法?

包含抽象方法的类必须被声明为抽象类,具体类不能包含抽象方法。而抽象类中可以不包含抽象方法,即使一个类中的所有方法都是具体方法,也可以将这个类声明为抽象类。

3、从继承角度而言,抽象类和接口的区别是什么?

类的继承只能是单重继承,即一个类只能继承一个父类;但是对接口的继承是允许多重继承的, 即一个类可以继承多个接口,一个接口同样也可以继承多个接口,这样的接口称为子接口。

4、从变量、构造方法、方法的角度,阐述抽象类和接口的区别?

抽象类和接口有以下区别:

抽象类的变量没有限制,接口只包含常量,即接口的所有变量必须是public static final

抽象类包含构造方法,子类通过构造方法链调用构造方法,接口没有构造方法。

抽象类的方法没有限制,接口的方法必须是public abstract的实例方法,

==同时需要注意==:在新版的JDK中关于接口的规则有了一定的变化,

从Java8开始,接口方法可以由默认实现,

从Java9开始,接口内允许定义私有方法。

5、哪两个接口可以实现对象之间的排序和比较大小?

Comparable接口是排序接口。如果一个类实现了 Comparable 接口,则该类的对象可以排序。Comparable 接口包含一个抽象方法 compareTo,实现 Comparable 接口的类需要实现该方法,定义排序的依据。

Comparator接口是比较器接口。如果一个类本身不支持排序(即没有实现 Comparable 接口),但是又需要对该类的对象排序,则可以通过实现 Comparator 接口的方式建立比较器。Comparator 接口包含两个抽象方法 compare和 equals,其中 compare 方法是必须在实现类中实现的,而 equals 方法在任何类中默认已经实现。

6、如何对一个数组中的多个对象按照不同的依据进行排序?

为了按照不同的依据进行排序,则需要使用不同的比较器,通过实现 Comparator接口实现比较器,在调用Arrays.sort方法时将数组和比较器作为参数,即可将数组按照指定的比较器进行排序。

7、除了首字母大写,包装类的名称和对象的基本数据类型是否一定相同?

不一定,int类型对应的包装类是Integer,char类型对象的对应的包装类是Character。

具体的可以看下面这个表格:

8、包装类的构造方法的参数可以是什么类型的?包装类的构造方法是否可以无参数?

构造方法的参数值可以是基本数据类型的值,也可以是表示值的字符串。包装类的构造方法都是有参构造的,没有无参数构造方法。

9、包装类的实例是否可变?

包装类的实例是不可变的,创建包装对象之后,其内部的值就不能改变。

10、什么是自动装箱和自动拆箱?

将基本数据类型值转换为包装对象,称为装箱。将包装对象转换为基本数据类型的值称为拆箱。

同时,从JDK1.5开始,基本数据类型和包装类之间可以进行自动转换。

今天学习的内容比较简单,主要就是抽象类和接口使用规范、知道Java是单重继承的、了解进行对象序列化的两个常用接口Comparable和Comparator、熟悉基本数据类型和包装类之间的转换。

面向对象的面试题比较多,之后还会继续总结,如果小伙伴们有遇到其他相关的面试题,欢迎在评论区留言提出,我会把大家提出的总结到文章内`, 欢迎小伙伴们一起评论区打卡学习!小伙伴们可也在左方加我好友一起探讨学习!

我是==灰小猿==,我们下期见!

Java 面向对象编程

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Java核心面试宝典】Day4、基本数据结构常见面试题汇总
下一篇:每个开发人员都应该知道的 15 个 IntelliJ IDEA 快捷方式
相关文章