JAVA面向对象(3)-对象创建与使用

接(2)的对象创建与使用。

以下是两种类型的类关系。


1、用户类[地址类]、地址类、测试类;2、丈夫类[妻子类]、妻子类[丈夫类]、测试类;

[]中的类别是被包含的,例如用户类中信息包含了地址类。测试类作为提供main()方法的入口。


对应1——测试类:

//测试类---->串起来用户类User和住址类Address
//用户类User中对住址类的引用:成员变量中Address  addr;
//引用数据类型既可以做成员变量又可以做局部变量;

public class OOTest02
{
	public static void main(String[] args)
	{
		//创建User对象 
		User u = new User();

		//修改User中的实例变量
		u.number = 2303;
		u.name = "gegege";
		u.addr = new Address();   //通过创建的User对象访问addr,通过创建Address对象访问其中实例变量
		
	    //调用用户类User中的地址类Address中的城市属性
		System.out.println(u.name+"她居住在"+u.addr.city);   //没有赋值应为null?

		u.addr.city = "杭州";
		u.addr.street = "金梅路";
		u.addr.number = 607;

		System.out.println("序号为:"+u.number+"的同学:"+u.name+"住在"+u.addr.city+u.addr.street+"街道"+u.addr.number+"。");

	}	
}

用户类:

//用户类
public class User
{
	//编号,实例变量
	int number;

	//用户姓名,实例变量
	String name;

	//对应家庭住址,addr为一个引用,实例变量
	//Address是一种引用数据类型
	Address addr;

}

地址类:

//家庭住址类
public class Address
{
	String city;
	String street;
	int number;


}

 

画出对应的JVM图:


对应2——测试类:

//测试类
public class OOTest04
{
	public static void main(String[] args){
			//创建丈夫类和妻子类的对象
			Husband chen = new Husband();
			Wife wang = new Wife();

			//要求:通过丈夫找到妻子,通过妻子找到丈夫

			//需要锁定????
			chen.w = wang;     //如果不做这个赋值的话,chen.w=null,wang.h= null;
			wang.h = chen;

			//两者相互调用的话需要锁定,否则不能往下进行??


			chen.w.idcard = "0123";
			wang.h.idcard = "3210";

			System.out.println("丈夫子chen的妻子身份证号:"+chen.w.idcard);    //0123
			System.out.println("妻子wang的丈夫身份证号:"+wang.h.idcard);   //3210
	
	}
}

丈夫类:

//丈夫类
public class Husband
{
		String idcard;

		//丈夫类中可以调用妻子类
		Wife w;
}

妻子类:

//妻子类
public class Wife
{
	String idcard;

	//妻子类中可以调用丈夫类
	Husband h;       //引用数据类型声明
}

画出对应的JVM图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值