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的问题
(转)我这几天来遇到 的BT的Core Java面试题呵呵,Share Share
最新推荐文章于 2023-03-18 15:41:22 发布