java:类与对象内存分析实例和空指针异常

    技术2022-07-14  86

    妻子和丈夫,能通过丈夫找到妻子,也能通过妻子找到丈夫

    定义一个妻子类

    public class Wife { String name; Husband h; }

    定义一个丈夫类

    public class Husband { String name; Wife w; }

    测试

    public class OOTest03 { public static void main(String[]args){ Husband huangXiaoMing =new Husband(); Wife baby=new Wife(); huangXiaoMing.name="黄晓明"; baby.name="baby"; //通过丈夫能找到妻子,通过妻子也能找到丈夫 huangXiaoMing.w=baby; baby.h=huangXiaoMing; System.out.println(huangXiaoMing.name+ "的妻子名字叫" + huangXiaoMing.w.name); System.out.println(huangXiaoMing.name+ "的妻子名字叫" + baby.name); //这两个的含义是不一样的 } }

    空指针异常

    空引用访问“实例”相关的数据一定会出现空指针异常 可以编译通过但是 在运行的时候会出现java.lang.NullPointerException

    定义一个顾客类

    public class Customer { int id; }

    测试类

    public class OOTest04 { public static void main(String[]args){ Customer c = new Customer(); c.id=3249; System.out.println(c.id); c = null; //这个时候新建的customer对象就后悔被垃圾回收机制清理掉了 System.out.println(c.id); //可以编译通过,符合语法 //空引用访问“实例”相关的数据一定会出现空指针异常 //在运行的时候会出现java.lang.NullPointerException //实例相关的数据表示这个数据访问的时候必须有对象的参与。 } }
    Processed: 0.016, SQL: 9