分享10道常考Java面试题及答案

大家好,今天给大家分享10道常考的Java面试题及答案,涉及到Java中的10个方面。每个领域一道题。希望你能有收获。

<面向对象>什么是面向对象?什么是面向过程?面型对象的三大基本特性和五大基本原则是什么?

知识点:Java的一种面向对象的语言。

思考一下什么是面向对象?什么是面向过程?面向对象的三大基本特征和五大基本原则是什么?

什么是面向过程?


把问题分解成一一个一个步骤,每个步骤用函数实现,依次调用即可。就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、 for-each等方式进行代码执行。最典型的用法就是实现一个简单的算法,比如实现冒泡排序。

什么是面向对象?

将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。就是说,在进行面向对象进行编程的时候,要把属性,行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。比如想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个Car类。

面向对象的三大基本特征和五大基本原则?

三大基本特征:封装,继承,多态。

五大基本原则:单一职责原则(Single_Responsibility Principle),开放封闭原则,Liskov替换原则,依赖倒置原则和接口隔离原则。这五大基本原则。

这些东西虽说都是概念性的,但是很多程序员根本不知道,更别说如何更好的面向对象编程了,我看过很多人写的代码,从头到尾写一个函数,各种if_else,完全不考虑复用,扩展等。这种代码很不利于阅读和维护,希望球友们不仅要记住还要通汇贯通,切实到工作去。

<String>String类能不能被继承,为什么?这种设计有什么好处?

string类能不能被继承?为什么?这种设计有什么好处?

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

安全性

分享10道常考Java面试题及答案

不可变对象天生就是线程安全的

因为不可变对象不能被改变,所以他们可以自由的在多个线程之间共存,不需要任何同步处理。

总之,string被设计成不可变的主要目的是为了安全和高效。所以,使string是一个不可变类是一个很好的设计。

<语法糖>Sting的'+'是如何实现的?

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

<集合类>通过Array.asList获得的List有和特点,使用时应该注意什么?

分享10道常考Java面试题及答案

<序列化>Serializable和Externalizable接口有何不同?

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

<IO>什么是输入流和输出流,如何区分?

分享10道常考Java面试题及答案

<安全>什么是fail-fase,什么是fail-safe,有什么区别?

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

分享10道常考Java面试题及答案

<异常>try()里面有一个return语句,那么后面的finally{}里面的代码会不会执行,什么时候执行?

分享10道常考Java面试题及答案