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

62 阅读4分钟

这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿! 用坚持缔造技术、用指尖敲动未来! 和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣! 在此专栏《Java核心面试宝典》记录我们备战梦想的【day 6】

今天来和小伙伴们记录有关于面向对象的一些面试题,一部分是LeetCode上比较经典且最常见的面试题。

一、面向对象和面向过程的区别有哪些?分别有什么优缺点?

面向过程是将问题分解成步骤,按照步骤实现函数,并依次调用,数据和数据的实现是分离的, 而面向对象是将问题分解成对象,描述事物在解决问题的步骤中的行为,对象与属性和行为是关联的。

面向过程的优点: 性能方面比面向对象高,不需要面向对象的实例化, 面向过程的缺点: 因为是按照步骤实现函数并依次调用的,因此不容易复用、维护和扩展。 面向对象的优点: 具有封装、继承和多态的特征,因而易于维护、扩展和复用。可以设计出低耦合的系统。 面向对象的缺点: 由于需要实例化对象,因此性能方面比面向过程低。

二、对象和类之间有哪些联系?

对象是对类的实例化,有自己独特的状态和行为,类是对具有相同特征的对象的抽象。用来定义对象的状态和行为,可以从一个类中创建多个对象。

三、构造方法的作用是什么?如何调用构造方法?

构造方法的作用是创建新对象,通过new来调用构造方法

四、构造方法是否可以被重载?

构造方法可以被重载,允许在同一个类中定义多个参数列表不同的构造方法

五、什么是默认构造方法?什么情况下有默认构造方法?

默认构造方法是当类中没有显性声明构造方法时,会隐性的声明一个方法体为空的没有参数列表的构造方法,只有当类中没有显性声明任何构造方法时才会有默认构造方法。

六、构造方法是否有返回值?

构造方法没有返回值,也没有void,也不能在构造方法中声明返回类型。

七、使用什么关键字可以将类成员声明为静态?

使用static修饰的类成员是静态的类成员,不使用static修饰的类成员则是实例的类成员。

八、从外部调用类成员时,对于静态的类成员和实例的类成员,分别通过什么方式调用?

从外部调用静态的类成员时,可以通过类名调用,也可以通过实例化的对象名调用。从外部调用实例的类成员,则只能通过对象名调用。

九、从内部访问类成员时,静态方法是否能够访问静态的类成员和实例的类成员?

静态方法只能访问静态的类成员,而不能访问实例的类成员,因为静态方法是可以直接通过类名来调用的。而实例的类成员不能直接通过类名来访问。

十、从内部访问类成员时,实例方法是否可以访问静态的类成员和实例的类成员?

实例方法既可以访问静态的类成员,又可以访问实例的类成员。

每日总结

今天和大家总结了在面向对象的考察点上一些常见的面试题,我们需要掌握对象和类之间的联系,了解构造方法的基本特征、以及static关键字的使用

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

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