首页 >  面试题 > JAVA,PHP企业面试宝典 > 

关于Java面向对象方面的一些面试题

关于Java面向对象方面的一些面试题

作者:eld 来源:华育国际 时间:2015-04-24 访问次数:2308
本章着重为同学们介绍一些关于Java面向对象方面的一些面试题,不要小看这些题,招聘企业可是常常会问道这方面问题的哦!

1.什么是对象序列化,为什么要使用?

    所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。

2.值传递与引用传递的区别?

    所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值

    所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。

3.接口与抽象类的区别?

    1:接口里面不可以实现方法体,抽象类可以实现方法体。

    2:接口可以多继承接口,抽象类不可以。

    3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。

    4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.

    5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。

4.谈谈继承,为什么要使用继承?

    所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。

    使用继承能够减少重复的代码。

5.方法重载的好处?

    所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。

    重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用

6.项目中印象最深的部分?

    我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。

    谈谈你对面向对象的理解与认识?

    我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。

    我的看法就是:

    1:当加入新的功能的时候不会修改原有的代码。(面向接口编程)

    2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性)

    3:当写一个新类的时候要考虑到他的可扩展性。(灵活性)

7.谈谈集合框架?

    集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类

    首先说一下collection接口,collection接口下面的接口分为set接口、list接口,在往下面就是他们一些实现类。

    说到实现类在分为两部分,第一部分是set的实现类有TreeSet、HashSet,第二部分是list的实现类有: Arraylist、LinkedList、Vector。

8.再说Map接口,map接口下面有treeMap、HashMap、HashTable三个实现类。

    最后说collections帮助类,collections提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作。

9.什么是异常?描述下异常处理?

    所谓异常就在执行程序的时发生的错误,他能终止正在执行的程序。

    异常的处理:1:使用try-catch捕获异常。2:使用throw-throws抛出异常。

10.多线程的优先级?为什么要分优先级?

    因为有有一些线程可能比较重要,所以才划分优先级。