public class Test1{
public static void a(){
System.out.println("123");
}
public static void main(String [] args){
Test1 t=null ;
t.a();
}
}
抛不抛异常
抛什么异常。
public class Test{
public static void a(){
System.out.println("123");
}
public static void main(String [] args){
Test t;
t.a();
}
}
抛不抛异常
抛什么异常。
答案:
第一个程序能够正常编译,正常运行。
我认为的理由:
在java中,静态方法,静态变量是属于类的,而不是属于类的对象的。
Test1 t=null ; 创建了一个Test1类的变量t,虽然他指向了null,
但是由于方法a()是static的,他是属于类的,所以t.a();是可以编译,并且执行的。
(因为t的类型就是Test1嘛)
第二个程序会报编译错误.
第二个,典型的没有初始化。
有意思的一道题
最新推荐文章于 2024-09-10 10:21:38 发布