public class OOTest02{
public static void main(String[] args){
//创建User对象
//u是局部变量
//u是一个引用
//u保存内存地址指向堆内存的User对象
User u = new User();
//输出User对象内部实例变量的值
System.out.println(u.no);//0
System.out.println(u.name);//null
System.out.println(u.addr);//null
System.out.println("========================================");
//修改User对象内部实例变量的值
u.no = 10;
u.name = "jack";//"jack"是一个java对象,属于String对象
u.addr = new Address();
//在main方法当中目前只能看到一个引用“u”
//一切都是只能通过u来访问
System.out.println(u.name + "居住在哪个城市:" + u.addr.city);
System.out.println(u.name+ "居住在哪个街道:" + u.addr.street);
System.out.println(u.name+ "邮编:" + u.addr.zipcode);
System.out.println("========================================");
u.addr.city = "中国";
u.addr.street = "花园街道";
u.addr.zipcode = "111111111";
System.out.println(u.name + "居住在哪个城市:" + u.addr.city);
System.out.println(u.name+ "居住在哪个街道:" + u.addr.street);
System.out.println(u.name+ "邮编:" + u.addr.zipcode);
}
}
//用户类
class User{
//属性
//用户编号
//int是一种基本数据类型:整数型
//no是一个实例变量
int no;
//用户名
//String是一种引用数据类型:代表字符串
//name是一个实例变量
//name是一个引用
String name;
//家庭住址
//Address是一种引用数据类型:代表家庭住址
//addr是一个实例变量
//addr是一个引用
Address addr;
}
//家庭住址类
class Address{
//城市
String city;
//街道
String street;
//邮编
String zipcode;
}