主页 > 家居装修 > 正文

2017JAVA经典基础面试题,2017最新Java面试题及答案

来源:新闻网作者:渠道发布时间:2017-09-14 10:04

导读:就爱阅读网友为大家分享的“2017JAVA经典基础面试题,2017最新Java面试题及答案”资料,内容精辟独到,非常感谢网友的分享,希望这篇资料对您有所帮助。

  抽象类可以有抽象方法,和普通方法、还可以包含普通类成员的一切成员。下面就由就爱阅读小编为大家介绍一下2017JAVA经典基础面试题的文章,欢迎阅读。

  2017JAVA经典基础面试题篇1

  1、基本数据类型

  数值型:byte 、short、int、long(浮点类型:double float)

  字符型:char

  布尔值:boolean

  2、标识符的命名规则?

  字母,数字、下划线或者美元符号组成!

  首字母不能以数字开头

  不能用关键字,布尔值 ,null

  区分大小写,没有长度限制,坚持见名知义的原则!

  3、引用数据类型

  String 类、接口、数组

  4、抽象类和接口的区别?

  抽象类可以有抽象方法,和普通方法、还可以包含普通类成员的一切成员。

  接口里面全部是静态常量、一个类只能继承一个抽象类。一个类可以实现多个接口!简单来说,

  接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,

  另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,

  最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

  还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承

  2017JAVA经典基础面试题篇2

  1、重写和重载?

  重载涉及同一个类的同名方法,要求方法名相同,参数列表不同,与返回值类型无关

  重写是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同!

  2、string stringbuff stringbuding区别

  在单机非多线程(Multithread)的情况下使用StringBuilder会有较好的效率,因为StringBuilder没有处理同步(Synchronized)问题

  StringBuffer则会处理同步问题,如果StringBuilder会在多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。

  3、集合类?

  Java的集合类主要有Map接口和Collection接口派生

  Collection是集合类的一个顶级接口,其直接继承接口有List与Set

  list集合继承Collection接口,是有序接口!List中允许重复的元素,也就是说List是一组不唯一,有序的对象!

  list接口的实现类有arrayList和LinkedList.

  arraylist内存分配连续的空间 善于查找比较快!

  LinkedList采用链表,删除和插入效率比较高!

  ArrayList 是一个可改变大小的数组.当更多的元素加入到ArrayList中时,其大小将会动态地增长.内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组.

  LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.

  Set

  set接口可以存储一组唯一。无序的对象

  set的实现类有hashSet

  hashSet的优点是集合的元素是无序的排列、允许集合的元素为null,查找效率高!

  Map是一组键值对(key、value)

  key不要求有序,不允许重复

  value不要求有序,但允许重复的!

  优点在与查询指定的元素比较高!

  2017JAVA经典基础面试题篇3

  1、Hashmap 和hashtabie的区别

  1)继承与实现的不同

  HashTable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)

  2)线程安全不同

  HashTable的方法是同步的,HashMap的方法是未同步的。

  3)对null的处理不同

  HashTable不允许null值的存在,HashMap允许null值的存在

  2、final, finally, finalize的区别。

  final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

  finally是异常处理语句结构的一部分,表示总是执行。

  finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

  3、char型变量中能不能存贮一个中文汉字?为什么?.

  可以啊。JAVA默认的编码是unicode

  4、静态变量和实例变量的区别?

  静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

文章地址:http://www.marytg.com/jiajizhuangxiu/2017091412385.html