千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 行业动态

2018新版Java常见面试题,西安JAVA编程培训精心整理

时间:2018-03-22 15:16:58  |  来源:千锋教育  |  作者:千锋

  千锋西安Java编程培训班的老师总结了2018新版Java常见面试题,一起来看!

西安Java学习.jpg

  1.1、java基础

  ●面向对象的特征:继承、封装、多态

  继承【构造器、protected关键字、向上转型Java实现多态有三个必要条件:继承、重写、向上转型。

  ●final、finaly、finalize的区别

  Final:用于类(zui终类,不能被继承)、方法(能调用,不能重写,可以重载)、变量(变常量)前。

  Finaly:try-catch异常时一定被执行,后于try或catch执行

  Finalize:来自于java.lang.Object,用于回收资源,可为任何类添加finalize方法,在GC清除前调用。

  ●Exception、Error、运行时异常与一般异常有何异同

  Throwable是所有Java程序中错误处理的父类 ,有两种资类: Error 和 Exception 。

  Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉的,无法采取任何恢复的操作,顶多只能显示错误信息。

  Exception:表示可回复的例外,这是可捕捉到的。

  ●请写出五种常见的runtime Exception:

  NullPointerException:当应用程序试图在需要对象的地方使用null时,抛出该异常

  ClassCastException:当试图将对象强制转换为不是实例的子类时,抛出该异常

  ArrayIndexOutOfBoundsException:使用数组下标超出数组允许范围时,抛出该异常

  NumberFormatException:应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时抛出该异常。

  IllegalArgumentException:此异常表明向方法传递了一个不合法或不正确的参数

  ●int和Integer有什么区别,Integer的值缓存范围

  数值类型和对象

  归结于java对于Integer与int的自动装箱与拆箱的设计,是一种模式:叫享元模式。

  Integer的值缓存范围-128到127之间时始终只存在一个对象,超过范围对象不会被重用,即每次都是一个新的Integer对象

  ●包装类、装箱、拆箱

  装箱:基本类型变为相应包装类{int a=100; Integer b=new Integer(a);或Integer a=Integer.valueOf(100)}

  拆箱:拆箱就是装箱的逆过程,Integer a=new Integer(100);int b=a.intValue();

  优先使用基本类型的论点是有道理的。

  ●String、StringBuilder、StringBuffer区别;

  String、StringBuffer、StringBuilder类的常用方法:

  ●重载和重写的区别

  重载:以统一的方式处理不同类型数据的一种手段

  重载:overload 重写:override

  ●抽象类和接口有什么区别

  相同点:都不能被实例化;接口的实现类或者抽象类的子类都只有实现了接口或抽象类中的方法才能被实例化

  不同点:1.接口只能定义方法,抽象类中可以定义和实现

  2.接口需要实现,抽象类需要继承,一个类可以实现多个接口但只能继承一个类

  3.接口中成员变量是public static final,只能有静态的不能被修改的数据,必须赋值,所有的方法都是public abstract,而且只能被这两个修饰。抽象类可以有自己的成员变量,抽象类中的成员变量默认default、private、protected和public。可以再子类中重新定义、赋值。抽象类中的方法不能用private、static、synchronized、native修饰符。

  ●反射的用途及实现反射机制:在运行状态下,对任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象的方法功能称为java语言的反射机制。

  实现方式:1.Class string = Class.forName(“java.lang.String”); //空号中必须是类的全名,即包名+类名。Struts配置文件

  2.依靠类名调用class属性得到该类:Class str = String.class;

  3.调用实例的getClass()方法:Date date = new Date(); Class d = date.getClass();

  4.如果是基本的包装类,则可以用调用包装类的Type属性来获得Class:

  Class i = Integer.TYPE;

  应用:Struts配置action ;Spring中的Bean的注入

  ●说说自定义注解的场景及实现

  ●HTTP请求的GET与POST方法的区别

  ●session与cookie区别

  ●列出自己常用的JDK包:

  1. java.lang:语言包,java语言的核心包,系统将这个包引入到用户程序,主要类:

  Object类:所有类的父类,其中定义的方法其他类都可以使用

  数据类型的包装类:Integer、Fioat、Double、Boolean等。

  Math类:数学类,提供常量和数学函数,包括E常数PI及abs()、sin()、min()、random()等方法,都是静态

  String和StringBuffer类

  System类:提供一个独立于具体计算机系统的编程界面;Runtime类可以直接访问运行时资源

  Classr类:Class类提供了对象运行时的若干信息,

  ClassLoader类:ClassLoader是一个抽象类,它提供了将类名转换成文件名并在文件系统中查找并装载该文件的方法

  线程类:Thread(线程建立)、ThreadDeath(线程结束后的清理操作)、ThreadGroup(组织一组线程)和Runnable(建立线程的交互工具)等类

  Throwable(所有错误和异常处理的父类)、Exception、Error

  2. java.util:实用包

  Date(获取日期和时间)、Calender(抽象类、日历类)、GregorianCalendar(Calender的子类)

  所有集合类、Random(封装了Math类中的random方法,并提供了多的辅助功能)

  3.java.io:输入输出包

  4.java.swing:轻量级的窗口工具包,目前使用极为广泛

  5.Java.awt:抽象窗口工具包

  6.java.net:网络函数包,Socket,还提供了便于处理URL的类

  ●MVC设计思想

  ●equals与==的区别

  ●hashCode和equals方法的区别与联系

  这次就是千锋老师分享的全部内容了,朋友们你们学会了吗?

上一篇:西安Java开发培训带你了解面试常见的问题
下一篇:西安Java程序员培训整理开发中常用的异常处理

新开班信息

企业之声 more >
  • 人事专员 刘娇
    【博彦科技】人事专员 刘娇

    入职一年多崔志波工作非常好,感谢千锋培养的人才。

  • 技术主管李先生
    【华夏基金】技术主管李先生

    周红梅,有较强的学习能力,是有发展潜力的年轻人。

  • 总经理宋总
    【北京未来付网络技术公司】总经理宋总

    郑秋浩思想灵活,能按时保质保量完成工作内容。

西安校区咨询电话

029-85363390 18610973034

0元入学 线上咨询 申请试听
  • 校区地址:西安市高新六路52号立人科技园C座西区4层
    咨询电话:029-85363390 18610973034
    面授课程:JAVA课程培训、Android课程培训、HTML5课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码关注千锋互联
    身边的移动开发导师