Java面试题之四

来源:互联网 发布:owncloud php网盘源码 编辑:程序博客网 时间:2024/05/19 00:55
1、String s = new String("xyz");创建了几个字符串对象?
一个是静态区的xyz,一个是用new关键字创建在堆上的对象;
2、接口是否可以继承(extends)接口?抽象类是否可以实现(implements)接口?抽象类是否可以继承具体类?
接口可以继承接口,而且支持多重继承;抽象类可以实现接口,可以继承抽象类和具体类;
3、一个“.java”源文件中是否可以包含多个类?有什么限制?
一个java源文件可以有多个类,但只能有一个公共类(public class)而且公共类名与文件名完全一致。
4、匿名内部类(Anonymous Inner Class)是否可以继承其他类?是否可以实现接口?
可以继承其他类或实现其他接口;在Swing和Android中实现时间监听和回调。
5、内部类可以引用它的包含类(外部类)的成员吗?有没有限制?
一个内部类对象可以访问创建它的外部类对象的成员,包括私有成员。
6、Java中final关键字?
修饰类:不能被继承;
修饰方法:不能被重写;
修饰变量:只能一次赋值不能被修改(常量);
7、创建对象时构造器的调用顺序?
先初始化静态成员、然后调用父类构造器、再初始化非静态成员,最后调用自身构造器;
8、数据类型之间的转化?
字符串转为基本数据类型:包装类中的方法parseXXX(String)或valueOf(String)返回基本类型;
基本数据类型转为字符串:将基本数据类型与空串(“”)连接(+)得到字符串类型;另一种方式是调用String类中的valueOf()方法返回相应的字符串。
9、如何实现字符串的反转及替换?
递归实现;String、StringBuilder、StringBuffer中的方法;
递归方式:https://github.com/zgwang24/Interview/blob/master/src/num04/Reverse.java
10、将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
String s1 = "hello";
String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");

原创粉丝点击