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...

面试题 相关文章推荐
得到Class的三个过程是什么
Aug 10 面试题
C++面试题目
Jun 25 面试题
西部世纪.net笔试题面试题
Apr 03 面试题
南京某公司笔试题
Jan 27 面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 面试题
港湾网络笔试题
Apr 19 面试题
几道Web/Ajax的面试题
Nov 05 面试题
mysql有关权限的表都有哪几个
Apr 22 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
Feb 17 面试题
MVC的各个部分都有那些技术来实现?如何实现?
Apr 21 面试题
介绍一下Java中的static关键字
May 12 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
Oct 02 面试题
万户网络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令牌 Token改进版
2008/07/18 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
工商管理实习生自我鉴定范文
2013/12/18 职场文书
高中军训感想800字
2014/02/23 职场文书
大学生社会实践评语
2014/04/25 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
小浪底导游词
2015/02/12 职场文书
期末个人总结范文
2015/02/13 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Redis 哨兵机制及配置实现
2022/03/25 Redis
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏