/* 定义丈夫类Husband 和妻子类Wife 丈夫类属性:身份证号、姓名、出生日期、妻子 妻子类属性:身份证号、姓名、出生日期、丈夫 分别给两个类提供构造方法(无参的和有参的都需要提供) 编写测试程序,创建丈夫对象,再创建妻子对象,两个对象相互关联,要求能够输出“丈夫对象”的妻子姓名 或者“妻子对象”的丈夫姓名 */ class Husband{ String idCard; String name; String birthday; Wife wife; // 无参构造方法 public Husband() { } // 有参构造方法 public Husband(String idCard, String name, String birthday) { this.idCard = idCard; this.name = name; this.birthday = birthday; } } class Wife{ String idCard; String name; String birthday; Husband husband; // 无参构造方法 public Wife() { } // 有参构造方法 public Wife(String idCard, String name, String birthday) { this.idCard = idCard; this.name = name; this.birthday = birthday; } } class Text1{ public static void main(String[] args) { // 创建丈夫对象 Husband h = new Husband("13032319871011****","张三","1987-10-11"); // 创建妻子对象 Wife w = new Wife("13032319890123****","小花","1989-01-23"); // 让他们结婚 h.wife = w; w.husband = h;
//没有上面两行代码,下面两行代码就会出现“空指针异常:java.lang.NullPointerException”
java.lang.NullPointerException” // 输出丈夫对象的妻子姓名 System.out.println(h.name + "的妻子是:" + h.wife.name); // 输出妻子对象的丈夫姓名 System.out.println(w.name + "的丈夫是:" + w.husband.name); } }