J2EE面试题大全


Posted in 面试题 onAugust 06, 2016
1、面向对象编程的三个基本特性是什么?
答:封装、继承和多态。
2、Java语言中有哪些基本数据类型,String是不是基本数据类型?
答:有八种基本数据类型(有的资料也称为原始数据类型),分别是byte short int long float double boolean char。String不是基本数据类型,是引用数据类型。
3、String类是否可以被继承?
答:String 类是final类,不可以被继承。
4、谈一谈final关键字的作用?
答:final class 表示此类不允许有子类。
final virable 表示一个常量。
final method 表示一个方法不能被重写。
5、如何获得静态数组的长度?如何获得字符串的长度?
答:使用数组变量的length属性。使用字符串变量的length()方法。
6、如何防止一个类被其它类继承?
答:定义一个类时将该类声明为final class。
或者将此类的所有构造方位声明为private。
7、一个类的构造方法是否可以被重载(overloading),是否可以被子类重写(overriding)?
答:构造方法可以被重载,但是构造方法不能被重写,子类也不能继承到父类的构造方法。
8、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类(非抽象类)?一个类是否可以继承多个类?
答:接口可以继承接口,但是只能继承一个。
抽象类可以实现接口。
抽象类可以继承实体类。
一个类不可以继承多个类,Java只允许单一继承,可以实现多个接口。
9、short s1 = 1;s1 = s1 + 1;是否有错?short s1 = 1;s1 += 1;是否有错?
答:short s1 = 1;s1 = s1 + 1;有错误,s1 + 1 是int类型,不能赋值给short类型。short s1 = 1;s1 += 1;正确。
10、String、StringBuffer、StringBuilder有什么区别?
答:String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都是String类的对象。字符串是常量;它们的值在创建之后不能改变。所以可以共享它们。StringBuffer是字符串缓存区,它的内容可以被修 改,长度也可以改变,StringBuffer类是线程安全的,也就是说多个线程可以安全的访问StringBuffer对象。StringBuilder与StringBuffer类似,都是字符串缓冲区,但StringBuilder不是线程安全的,如果你只是在单线程中使用字符串缓冲区,那么StringBuilder的效率会更高些。值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用该类。
11、一个Java源文件中是否可以定义多个类?接口和类是否可以定义在一个源文件中?
答:一个源文件中可以定义多个类,但只能有一个类是public。接口和类也可以定义在一个源文件中,同样也只能有一个是public。
12、介绍什么是JDK?什么是JRE?
答:有关JDK的介绍,点此链接参见Java EE常见面试题第1题。
JRE是Java的运行环境,不包含编译、调试环境。如果你只是运行一个Java程序,那么安装JRE就够用了。
13、解释一下int和Integer有什么区别?
答:int 是原始数据类型,而Integer是引用数据类型,是int的包装类。Java中的八种原始数据类型都有对应的包装类,boolean-- Boolean char--Character byte--Byte short--Short long--Long float--Float double--Double。int和Integer是可以相互转换的如:
int a = 1; Integer in = new Integer(a);
Integer in = new Integer(10); int i = in.intValue();
JDK5.0支持自动包装和自动解包,以下代码与以上完成相同的功能:
int a = 1; Integer b = a;
Integer c= new Integer(10); int d = c;
14、解释一下&和&&的区别?
答:&和&&都可以作为逻辑运算符,但还是有区别的,&&是短路与。单独运行以下两行代码:
System.out.println(false & (1/0 == 0)); 抛出异常
System.out.println(false && (1/0 == 0)); 打印出false
&作为逻辑运算符时,即使第一个操作符是false,那么它仍然会计算第二个操作符。&&短路与,如果第一个操作符为false,那么它不会再去计算第二个操作符。另外&还是一个按位与运算符,请看以下代码:
System.out.println(5 & 4); 打印出4,结果怎样计算呢?将它们转换成二进制数据,一目了然。
00000101 & 00000100 = 00000100
15、Math.round(11.5)等于多少? Math.round(-11.5)等于多少? Math.round(-11.7)等于多少? Math.round(11.3)等于多少?
答:Math.round(11.3) 等于 11
Math.round(11.5) 等于 12
Math.round(-11.5) 等于 -11
Math.round(-11.7) 等于 -12
速记:距离11.3最近的整数,是11。距离11.5最近的整数,有两个11和12,取大。距离-11.7最近的整数,是-12(别告诉我是-11)。距离-11.5最近的整数,有两个-11和-12,取大-11(也别和我说-12比-11大)。
16、switch能否作用在byte上,能否作用在long上,能否作用在String上?
答:能作用在byte上,不能作用在long或String上。
17、用最有效率的方法算出2乘以8等於几?
答:用位运算,2 18、有如下方法的定义:
public static int getNumber(int a){
int b = 0;
try {
b = 10/a;
return b;
} catch (Exception ex) {
b = 100;
return b;
}
}
在main方法中调用以上方法,如下:
System.out.println(getNumber(10));
System.out.println(getNumber(0));
结果是多少?
答:1 和 100 。
19、有如下方法的定义:
public static int getNumber(int a){
int b = 0;
try {
b = 10/a;
return b;
} catch (Exception ex) {
b = 100;
return b;
}finally{
b = 1000;
return b;
}
}
在main方法中调用以上方法,如下:
System.out.println(getNumber(10));
System.out.println(getNumber(0));
结果是多少?
答:1000 和 1000 。
20、有如下代码:
try {
代码1
return 1;
}finally{
代码2
return 2;
}
问,代码2是否会被执行?若会被执行,是try里的return语句先执行还是finally里的代码先执行?最后该代码片段的返回值是1还是2?
答:代码2会被执行,因为finally里的代码总会被执行。
finally里的代码会在return 1;之后被执行。
既然finally里的代码会在return 1;之后被执行,所以return 2;覆盖return 1;返回2。
21、在Java中char类型的变量占用几个字节?char类型的变量能不能存储一个中文汉字?
答:在Java中char类型的变量占用2个字节,char类型变量采用Unicode编码。可以存储一个汉字,但不是所有的汉字都能存储,你想想,汉字至少10万个,而Unicode占用两个字节,最多能存储6万多个。
22、Java有没有goto?
答:Java没有使用goto关键字,但它是Java的保留字。
23、列举几个常见的RuntimeException的子类?
答:ArithmeticException、NullPointerException、IndexOutOfBoundsException、ClassCastException、ArrayStoreException
24、当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?
答:对。但是在Java中建议,当x.equals(y)等于true时,x.hashCode()与y.hashCode()也相等。
25、静态变量和实例变量的区别?
答:静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。
实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。
26、空字符串(“”)和null的区别?
答:空字符串是 String类的一个对象,而null是指一个引用变量没有引用对象,在值为null的引用变量上调用方法或变量,将会导致 NullPointerException。通过以下代码来验证变量x是否为null,x == null,通过”".equals(x)来验证x是否为空字符串。

Tags in this post...

面试题 相关文章推荐
一套PHP的笔试题
May 31 面试题
新东网科技Java笔试题
Jul 13 面试题
某个公司的Java笔面试题
Mar 11 面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 面试题
一套SQL笔试题
Aug 14 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
Jan 21 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
Sep 18 面试题
Why do we need Unit test
Jan 03 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
Mar 10 面试题
介绍一下JNDI的基本概念
Jul 26 面试题
DTD的含义以及作用
Jan 26 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 #面试题
西安夏日科技有限公司Java笔试题
Jan 11 #面试题
线程同步的方法
Nov 23 #面试题
Java中的异常处理机制的简单原理和应用
Apr 27 #面试题
如何写出好的Java代码
Apr 25 #面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Jul 06 #面试题
初级Java程序员面试题
Mar 03 #面试题
You might like
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
推荐php模板技术[转]
2007/01/04 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
JavaScript实现打字效果的方法
2015/07/10 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
Python实现微信好友的数据分析
2019/12/16 Python
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
如何强制垃圾回收
2015/10/06 面试题
面料业务员岗位职责
2013/12/26 职场文书
加工操作管理制度
2014/01/19 职场文书
联欢晚会主持词
2014/03/25 职场文书
班级活动总结格式
2014/08/30 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
vue实现锚点定位功能
2021/06/29 Vue.js
Python极值整数的边界探讨分析
2021/09/15 Python
Python anaconda安装库命令详解
2021/10/16 Python