null调用方法

我们经常会在程序中遇到空指针异常,但事实上,我们也可以使用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是可以调用静态方法的

猜你喜欢

转载自blog.csdn.net/qq_37455615/article/details/82716039