空对象也可以点方法?

今天上班看到一块代码,让我大吃一惊,原来空对象也可以点方法,有兄弟知道什么原理吗?求赐教
package test;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Test {

    public static void main(String[] args) {
        InetAddress ia = null;
        String ip = null;
        try {
            ia = ia.getLocalHost();
            ip = ia.getHostAddress();
            System.out.println("本地IP地址为:" + ip);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }

}

空对象调用静态方法不会报空指针,这个时候这个空对象就相当于是用类名在调用,应该是Java的语法优化的,静态方法不需要实例化,所以自动给你类调用

是静态方法么?

对象赋值为null,只是代表这个对象为null,但又不会破坏对象内部结构,你对象.getXXXX 照样能打出来。
由于InetAddress类只有一个构造函数,且不能传递参数,所以不能直接创建该对象实例,比如下面的做法就是错误的:
InetAddress ia = new InetAddress ();

一般实体类这么赋值为null时,调用其中属性值会报错