原标题:115个Java面试题和***——终極列表
本文我们将要讨论Java面试中的各种不同类型的面试题它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为仩下两篇第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题Java的集合类,垃圾收集器第二篇主要讨论异常处理,Java尛应用程序Swing,JDBC远程方法调用(RMI),Servlet和JSP
面向对象编程(OOP)
面向对象编程(OOP)
Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:
●代码开发模块化更易维护和修改。
●增强代码的可靠性和灵活性
●增加代码的可理解性。
面向对潒编程有很多重要的特性比如:封装,继承多态和抽象。下面的章节我们会逐个分析这些特性
封装给对象提供了隐藏内部特性和行為的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据在Java当中,有3种修饰符:publicprivate和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限
下面列出了使用封装的一些好处:
●通过隐藏对象的属性来保护对象内部的状态。
●提高叻代码的可用性和可维护性因为对象的行为可以被单独的改变或者是扩展。
●禁止对象之间的不良交互提高模块化
参考这个文档获取哽多关于封装的细节和示例。
多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力一个多态类型上的操作可以应用到其怹类型的值上面。
继承给对象提供了从基类获取字段和方法的能力继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性
抽象是把想法从具体的实例中分离出来的步骤,因此要根据他们的功能而不是实现细节来创建类。Java支持创建只暴漏接口而不包含方法实现的抽象的类这种抽象技术的主要目的是把类的行为和实现细节分离开。
抽象和封装是互补的概念一方面,抽象关注对象嘚行为另一方面,封装关注对象行为的细节一般是通过隐藏对象内部状态信息做到封装,因此封装可以看成是用来提供抽象的一种筞略。
Java提供了只包含一个compareTo()方法的Comparable接口这个方法可以个给两个对象排序。具体来说它返回负数,0正数来表明输入对象小于,等于大於已经存在的对象。
Java提供了包含compare()和equals()两个方法的Comparator接口compare()方法用来给两个输入参数排序,返回负数0,正数表明第一个参数是小于等于,大於第二个参数equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等只有当输入参数也是一个comparator并且输入参数和当前comparator的排序结果昰相同的什么东西在使用它的时候是满的,这个方法才返回true
看完本文有收获?请转发分享给更多人
欢迎关注“互联网架构师”我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈孓和社区
本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容打造中國互联网圈最有价值的架构师圈子。