您的位置:首页 > 职场人生

2018年JAVA面试题整理(1)--基础

2018-03-29 11:06 357 查看
最近个人也在准备找工作的事情!自己整理了一些JAVA面试题供大家参考,大家一起努力,找到一份好工作!
如果大家还有一些基础的面试题,可以评论给我!我做整理。谢谢大家分享。后续会提供比较难得面试题。

Java面向对象的特征是什么三大特征是:封装、继承和多态。(问到这些尽量回答出其含义   封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在java中能使用private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问该对象的属性和行为进行限制。(这里又引出一个问题:java中修饰符作用域


 继承是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。这非常类似大自然中的物种遗传。   多态存在的三个必要条件:
  一、要有继承;
  二、要有重写;
  三、父类引用指向子类对象。  多态是指父对象中的同一个行为能在其多个子对象中有不同的表现。也就是说子对象可以使用重写父对象中的行为,使其拥有不同于父对象和其它子对象的表现,这就是overriding(重写)。
    多态则是体现在overriding(重写)上,而overload(重载)则不属于面向对象中多态的范畴,因为overload(重载)概念在非面向对象中也存在。overriding(重写)与而overload(重载)区别方法的覆盖Overriding 和重载Overloading 是java 多态性的不同表现;覆盖Overriding 是父类与子类之间多态性的一种表现,重载Overloading 是一个类中多态性的一种表现。
error 和exception 有什么区别?error 表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;exception 表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。
Java中ArrayList和LinkedList区别1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 
Arraylist与LinkedList默认空间是多少ArrayList 初始化大小是 10 (如果你知道你的arrayList 会达到多少容量,可以在初始化的时候就指定,能节省扩容的性能开支) linkedList 是一个双向链表,没有初始化大小,也没有扩容的机制,就是一直在前面或者后面新增就好。

静态变量和实例变量的区别静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个实例对象,一个类不管创建多少个实例对象,静态变量在内存中有且仅有一个拷贝;静态变量可以实现让多个对象共享内存。实例变量必须依存于某一实例对象,需要先创建实例对象,然后通过实例对象才能访问到它。
sleep方法和wait方法有什么区别?sleep方法是Thread类的静态方法,让调用线程进入休眠状态,同时将执行机会让给其他线程,等到休眠时间结束后线程进入就绪状态,抢占CPU获取执行机会。但是,如果当前线程拥有锁,Thread.sleep不会让线程释放锁。wait方法是Object类的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放对象的锁,使其它线程能够访问,需要通过notify、notifyAll方法来唤醒等待的线程。
== 和equals的区别比较基本数据类型时,== 和equal 效果一样,对于引用对象的比较,equals 比较的是值,==比较的是内存地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: