(转)我这几天来遇到 的BT的Core Java面试题呵呵,Share Share

public class Exam

{

public static void main(String args)

{

System.out.println("sucess print");

}

}

以上这是我这几天来遇到的一个面试题,呵呵,够BT,呵呵注意String后面没有[],所以就它BT,我当时选择的编译时不能通过,后来在路上一想也有可能不对,它不加[]可以只传一个参数啊,所以就去学校在机器上打上做了一下,,呵呵果然和我想的差不多,编译能通过的,也能打印出字符串“string print"来,但是我在Unix环境下调试通过的,后来我回到家来到Windows环境下编译也是能通过的,但在执行java Exam的时候出错了,说是什么: C:\Documents and Settings\w\My Documents>java Exam Exception in thread "main" java.lang.NoSuchMethodError: main C:\Documents and Settings\w\My Documents> 不知道为什么,我检查一下我的机器中的配置环境,一切正常啊,classpath=.;.......只要有点一般不会出现上面的情况啊!





2

public class Exam {

public static void main(String[] args)

{

Exam e = new Exam();

e.method(null);//把null作为参数传进去

}

public void Method(StringBuffer sb)

{

System.out.println("in StringBuffer");

}

public void Method(String s)

{

System.out.println("in String");

}

}

当时它给了四个选项,其中有一个是不能编译,后来回家上机一试果然是,出现了Exception:说不能解析null类型,所以这是错误的,呵呵,看来这题偶是蒙对了,对了 StringBuffer和String还有一个区别是:String长度是不可变的,而StringBuffer长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么你要使用StringBuffer,如果最后需要String,使用StringBuffer的toString ()方法。再就是String不是一个最基本的数据类型,它是final的类,不可被继承,和String同样的还有Math.

3

public class Exam extends A {

public static void main(String[] args)

{

Exam e = new Exam(10);

}

Exam(int i){super(i);}

Exam(String s ,int i)

{

this(i);

//Here

}

}

class A {

public A(int i){}

}

它问//Here这里应该选哪一项才是正确的,

1 Exam e = new Exam();

2 super();

3 this("hello",10);

4 A a = new A(10);

偶知道super(),this()必须出现在构造方法中的第一行,所以直接把2,3排除。最后经过权衡偶选择了4。



4

public class A {

public static void main(String[] args)

{

System.out.println("begin");

try{

System.out.println("in try block");

}catch(Throwable t)

{

System.out.println("in catch");

}

System.out.println("end");

}

}

问上面这段代码是否会正确执行,偶搞不清Throwable 和 Exception两者的区别,所以选择了不能执行,回家来一运行却是可以运行的,:(郁闷,还是去查API,看两者的异同吧!

public class Exception extends Throwable Exception

类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

再查Throwable:

public class Throwable extends Object implements Serializable

Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。郁闷,弄了半天人家是父子关系,儿子都能抛出了,更不要说父亲啦。不过以后偶就会记住啦。唉,随着年龄的增长,记性真是越来越差啊,自然力不可抗拒啊!!!!!

---------------------------

还有一个Externalizable的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值