我们经常会在程序中遇到空指针异常,但事实上,我们也可以使用null来调用一个方法(注意,只能调用静态方法,因为静态方法属于类,非静态方法属于对象,类加载的过程中,就已经加载了静态代码块,静态方法
ps:Java中的静态方法在class文件被加载时就会分配内存,而非静态方法要在程序运行过程中类实例化后才会存在)。
但是他并不会报空指针异常
public class z1 {
public static void live(String x) {
System.out.println("您好" + x);
}
public void lives(String y){
System.out.println("您好"+y);
}
public static void main(String[] args) {
z1 z =null; //类引用指向null
z.live("1"); //用null调用方法(仅仅限于静态方法)
((z1)null).live("1"); //或者使用(向上自动转换)
}
}
我们可以发现,并没有报空指针异常,说明null是可以调用静态方法的