设为首页 加入收藏

TOP

java变态级面试题
2014-11-23 23:17:09 来源: 作者: 【 】 浏览:3
Tags:java 变态 试题


1. Java类初始化顺序


Java类初始化顺序(无继承):
静态变量–>静态初始化块–>其他变量–>初始化块–>构造器
Java类初始化顺序(有继承):先静后动,先父后子
父类静态初始化—->子类静态初始化—->父类初始化块—->父类构造方法—->子类初始化块—->子类构造方法。
以下例子执行结果:6375142
Test2构造函数加上super()不影响结果
public class Test2 extends Test1 {
{
System.out.print(“1″);
}


Test2() {
System.out.print(“2″);
}


static {
System.out.print(“3″);
}
{
System.out.print(“4″);
}


public static void main(String[] args) {
new Test2();
}
}


class Test1 {
Test1() {
System.out.print(“5″);
}


static {
System.out.print(“6″);
}
{
System.out.print(“7″);
}
}


2.Java开发中”==”与”equals”


public class TestEquals {
public static void main(String args[]){
Double d1 = new Double(10);
Double d2 = new Double(10.0);
Double d3 = new Double(10);
System.out.println(d1==d2);//false value
System.out.println(d1==d3);//false value
System.out.println(d1.equals(d2));//true object
System.out.println(d1.equals(d3));//true object
Integer i1 = new Integer(10);
System.out.println(d1.equals(i1));//false
Long l1 = new Long(10);
System.out.println(l1.equals(i1));//false
//System.out.println(l1==i1);//false,编译错误
System.out.println(l1.intValue()==i1.intValue());//true
String s1 = “test”;
String s2 = “test”;
String s3 = new String(“test”);
System.out.println(s1==(s2));//true
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
System.out.println(s1==(s3));//false
}
}


3.java继承


java里的类不能多重继承,如果一个类一旦继承了它的父类,那么它就别想再继承别的类。一个儿子只能有一个老爸,所以单继承也有其不利处,如果想多继承最好使用接口继承的方式。


4.异常中finally


public class TestException {
public static void main(String args[]) throws Exception{
try{
//throw new Exception(“excepiton”);//finally end
//int i = 10/0;//finally end
return;//finally end
//System.exit(0);//不执行finally,其他都执行
}catch(Exception e){
throw e;
}finally{
System.out.println(“finally end”);
}
}
}


5.java数组初始化


public class TestArray {
public static void main(String args[]){
//int[3] t1 = new int[]{1,2,3};//error delete 3
int[] t2 = new int[]{1,2,3};
int[] t3 = new int[3];
int[] t4 = {1,2,3};
//int[] t5 = {{},2,3};//error,{}是对象
int[] t6;
int[][] t7 = new int[3][];
int[][] t8 = new int[3][8];
//int[][] t9 = new int[][10];//error
//int[] t10 = new int[];//error
//String[] s1 = {{},”s1″,”s2″};//errror,can’t convert from object[] to String
String[][] s2 = {{},{}};
String[][] s3 = {{“s1″},{}};


}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C#面试题集 下一篇大唐电信 DTT笔试题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: