Java(对象)

创建对象

  • 对象就是类的实例化。
  • 如果把类比作模具,对象就是模具创造出来的东西。
  • 对象是实际存在的,对象在内存中分配了空间。
    创建对象的格式:
类名 对象名 = new 类名();

例子1:在同一个类中创建对象。

public class Person  //新建一个类,类名的首字母要大写 //启动类
{
	String name;
	int age;
	String sex;
	String hobby;
	//这个Person类中有4个属性。

	void show() //定义一个show方法 也可以称作这个类的行为
	{
		System.out.printf("%d\n",age);
		//这个show方法用来显示这个类中的age属性的值。
	}
	public static void main(String[] args)
	{
		//程序从这里开始运行。
		Person aa = new Person();//这样就创建了一个以Person类为模型的名字为aa的对象。

		/*
			aa这个对象包括
			Person类中4个属性和1个show方法
		*/
		//并且给aa中的四个属性和一个方法在内存中分配了空间。
		//这样就可以对对象中的数据进行操作了。
	}
}

例子2:在不同类中创建对象。

class A //这是一个名字为A的普通类。
{
	String name;
	int age;
	String sex;
	String hobby;
	//这个A类中有4个属性。
	
	void show() //定义一个show方法 也可以称作这个类的行为
	{
		System.out.printf("%d\n",age);
		//这个show方法用来显示这个类中的age属性的值。
	}
}//这个类到这里就没了

public class Test1 //这是名字为Test1的一个启动类
{
	public static void main(String[] args)
	{
		A aa = new A();
		//以A类为模型创建一个名字为aa的对象
		
		/*
			aa这个对象包括
			Person类中4个属性和1个show方法
		*/
		//并且给aa中的四个属性和一个方法在内存中分配了空间。
		//这样就可以对对象中的数据进行操作了。
	}
}

既然我们已经创建了一个对象,那么我们就来看一看这个对象的内容是什么。到底什么是对象。

class Person //普通类
{
	String name="张三";
	int age=18;
	String sex="男";
	String hobby="睡觉";

	public String toString()//重写一下toString方法,才能正常输出对象。这里可以先不用理解。
	{
		return "姓名:"+name
		+"\r\n"+"年龄:"+age
		+"\r\n"+"性别:"+sex
		+"\r\n"+"兴趣:"+hobby;
		//"\r\n"为换行
	}
}//定义了一个Person类。并且给所有成员赋了值。

public class Test1//启动类
{
	public static void main(String[] args) 
	{
		Person aa = new Person();//创建一个名为aa的对象。
		//第一步创建了一个对象。
		System.out.println(aa);//输出aa对象。
		// 姓名:张三
		// 年龄:18
		// 性别:男
		// 兴趣:睡觉

	Person bb = new Person()//我们又以Person为模型创建了一个名为bb的对象。
	System.out.println(bb);//输出bb对象。
		// 姓名:张三
		// 年龄:18
		// 性别:男
		// 兴趣:睡觉
	}
}

aa对象的内容和bb对象的内容是一样的。
就说明了,对象是以类为模板进行生成的,类是什么样,对象就是什么样。
接下来我们来改变对象中的值来生成两个不同的对象。


访问对象属性
通过对象名来访问对象的属性。

class A
{
	public int i = 0 ; //设置A类里的属性 i;
	public int j = 0;

	
}
class Test_1//启动类
{
	public static void main(String[] args)
	{
		A aa = new A();//以A为模板创建一个对象 对象的名字为aa
		System.out.printf("i=%d,j=%d\n",aa.i,aa.j);//打印aa中的i,aa中的.j的值。
		//i=0 j=0; 因为你没有给它赋值,所以显示的是它的初始值
		aa.i = 1;//访问对象aa中的i属性,并把1赋值给aa中的i
		aa.j = 2;//访问对象aa中的j属性,并把2赋值给aa中的j
		System.out.printf("i=%d,j=%d\n",aa.i,aa.j);//打印aa中的i,aa中的.j的值。
		//i=1 j=2;
		A bb = new A();//以A为模板创建一个对象 对象的名字为bb
		System.out.printf("i=%d,j=%d\n",bb.i,bb.j);//打印bb中的i,bb中的.j的值。
		//i=0 j=0; 因为你没有给它赋值,所以显示的是它的初始值
		
		//说明了,修改aa中属性的值并不影响类中的属性。
		
		bb.i = 10;//bb对象中i的值赋给它10
		bb.j = 20;//bb对象中i的值赋给它20
		System.out.printf("i=%d,j=%d\n",bb.i,bb.j);//打印bb中的i,bb中的.j的值。
		//i=10 j=20;
		
		//说明了可以通过对象名.属性的方法,对它进行操作。
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值