5.类和对象的创建

1.面向过程和面向对象的理解

1)二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做
2)面向对象的三大特征:封装、继承、多态。

2.类和对象的理解

1)类:是对一类事物的描述,是抽象的、概念上的定义。
2)对象:是实际存在的该类的事物的每个个体,因而也称为实例。

3.类和对象的创建

1)步骤:
①创建类,设计类成员。
②创建类对象。
③通过“对象.属性” 或 “对象.方法” 调用对象的结构。
2)如果创建一个类的多个对象,则每个对象都独立的拥有一套类的属性(非static的)。意味着,如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。

//1.创建类,设计类成员
class Person{
	
	//属性
	String name;
	int age = 1;
	boolean isMsle;
	
	//方法
	public void eat() {
		System.out.println("人可以吃饭");
	}
	public void sleep() {
		System.out.println("人可以睡觉");
	}
	public void talk(String language) {
		System.out.println("人可以说话" + language);
	}
}

public class PersonTest {
	public static void main(String[] args) {
		
		//2.创建类对象
		//创建Person类的对象
		Person p1 = new Person();
		
		//3.通过“对象.属性” 或 “对象.方法” 调用对象的结构
		//调用对象的结构:属性、方法
		//调用属性:“对象.属性”
		p1.name = "Tom";
		p1.isMsle = true;
		System.out.println(p1.name); //Tom
		
		//调用方法:“对象.方法”
		p1.eat();
		p1.sleep();
		p1.talk("Chinese");
		
		//创建类的多个对象
		Person p2 = new Person();
		p2.name = "甘雨";
		p2.isMsle = false;
		System.out.println(p2.name); //甘雨
		
		//将p1变量保存的对象地址值赋给p3,导致p1和p3指向堆空间中的同一个对象实体
		Person p3 = p1;
		System.out.println(p3.name); //Tom
		
		p3.age = 10;
		System.out.println(p3.age); //10
	}
}