Java的对象创建与使用

  • 类与对象的概念


类与对象的概念

首先我们要知道什么是类?
类在实际的现实中是不存在的,是一个抽象的概念。是人类进行“思考、总结、抽象”的一个结果。把不同的东西、事务的分类。
类的本质上是显示世界当中,某个事务具有共同特征,将这些共同特征提取出来形成的概念就是一个“类”,“类”就是一个模板。

然后我们要知道什么是对象?
对象是实际存在的个体。(真实存在)对象的出现就是为了我们人类方便理解的。在java语言中,想要得到“对象”,必须先定义“类”,“对象”是通过类在这个模板创造出来的。
类就是一个模板:类中描述的是所有对象的“共同特征信息”
对象就是通过类创建出的个体。

这几个术语你需要自己能够阐述出来: 类:不存在的,人类大脑思考总结一个模板(这个模板当中描述了共同特征。)
对象:实际存在的个体。
实例:对象还有另一个名字叫做实例。 实例化:通过类这个模板创建对象的过程,叫做:实例化。
抽象:多个对象具有共同特征,进行思考总结抽取共同特征的过程。

类 --【实例化】–> 对象(实例) 对象 --【抽象】–> 类
类是一个模板,是描述共同特征的一个模板,那么共同特征包括什么呢?

比如定义一个学生类
public class Student {
		// 属性
		// 姓名
		// 性别
		// 身高

		// 方法
		public .... sing(){
		
		}
		public .... dance(){
		
		}
		public .... study(){
		
		}
		....
	}

然后我们就来了解怎么创建和使用类的对象?
1、类的定义
类的定义语法格式是这样的:

```java
[修饰符列表] class 类名 {
			//类体 = 属性 + 方法
			// 属性在代码上以“变量”的形式存在(描述状态)
			// 方法描述动作/行为
		}

		注意:修饰符列表可以省略。

2、为什么属性是“以”变量的形式存在的?
假设我们要描述一个学生:
学生包括哪些属性:
学号: 110
姓名:“张三”
性别:‘男’ (true/false)
住址:“中国”
答案:是因为属性对应的是“数据”,数据在程序中只能放到变量中。
结论:属性其实就是变量。

变量根据出现位置进行划分:
方法体当中声明的变量:局部变量。
方法体外声明的变量:成员变量。(这里的成员变量就是“属性”)
3、在语法上怎么创建对象呢
类名 变量名 = new 类名();

接下来具体说说怎么创建对象和使用的
首先我们创建一个继续创建一个学生类

class Student{
	//学生属性有哪些
	//学号实例变量,基本数据类型
	int id;
	//姓名实例变量,但是属于引用数据类型
	String name;
}

public class Test{
	public static void main(String[] args){
		//先创建对象
		Student st = new Student();
		//给对象里面属性赋值
		st.id = 349;
		st.name = "李四";
		System.out.println("这个学生" + st.name + "的学号是" + st.id);
	}
}

上面的对象实现是最简单的实现方式,但是往往我们实现为了让对象里面更丰富我们会用引用,用类名 变量名的方式来定义一个实例变量,这样我们就可以是对象的属性更丰富;接下来我来用代码演示一下:

//定义一个人类
class Person
{
	//名字
	String name;
	//性别
	boolean sex;
}
//定义一个房子类
class House
{
	//面积
	double area;
	//房子的主人,这里就是引用类型的变量为了更方便的找到主人的各个属性
	Person master;
}

//定义一个测试类
public class Test01
{
	public static void main(String[] args){
		//创建对象
		Person person = new Person();
		//给对象属性赋值
		person.name = "王五";
		person.sex = true;
		//创建对象
		House house = new House();
		house.area = 103.4;
		//这是把人的属性给了房子的主人,我们可以通过房子找到主人,也可以通过主人找到房子
		house.master = person;
		System.out.println("房子的主人的名字是:" + house.master.name);//当然你也可以用person.name
		//当我们要修改主人的信息应该怎么改呢?
		//首先我们重新创建对象
		Person man = new Person();
		//重新赋值
		man.name = "李四";
		house.master = man;
		System.out.println("房子的主人的名字是:" + house.master.name);

	}
}