对象和类
一、面向对象的程序设计;
对象就是需要拥有属性和行为,比如人拥有姓名、年龄、身高、体重、性别等属性,拥有吃饭、走路等行为。人就是一个对象。
1.什么是类
将不同类型的数据集合组成的一个整体
-
类的成员:
属性(成员变量)
行为(方法、函数)
public class Person {//该类有3个属性
//属性(成员变量)
String name;
int age;
char sex;
}
2.类的转化过程
- 打印学生的第一个方法
/*
打印学生信信息
姓名、年龄、性别
*/
public static void studentInfo(String name,int age,char sex){
System.out.println("姓名" + name);
System.out.println("年龄" + age);
System.out.println("性别" + sex);
}
参数中多种不同类型的数据,我们考虑采用抽象数据类型->类来替换参数类型
- 打印学生信息的第二种方式(使用对象)
public class Student {
String name;
int age;
char sex;
}
/*
打印学生信信息
姓名、年龄、性别
*/
public static void studentInfo(Student student){
System.out.println("姓名" + student.name);
System.out.println("年龄" + student.age);
System.out.println("性别" + student.sex);
}
打印学生信息方法只能针对Student数据操作,是属于Student自身方法,因此没有实现数据 与操作数据的行为统一
二、定义一个类
1.定义类的成员变量
-
用于描述该类型对象共同的数据结构
public class Student { //成员变量 数据类型 变量名称 String name; int age; char sex; ... }
2.定义类的成员方法
用于描述对象的行为,封装对象的功能。
public class Student {
//成员方法 main方法也是类的组成元素之一
public static Student studentInfo(Student student){
System.out.println("姓名" + student.name);
System.out.println("年龄" + student.age);
System.out.println("性别" + student.sex);
}
}
三、创建并使用对象
1.使用new关键字创建对象
new 对象名 -> new Student //实例化人类对象。
new 会在内存中开辟一块新的空间。所以多个new同一个类他会开辟不同的空间
Student s1 = new Student();//指向的是一个地址
Student s2 = new Student();
Student s3 = s2;
System.out.println(s1 == s2);//false 因为他们两个指向的是两个空间
System.out.println(s2 == s3);//true
2.引用类型变量
Student st = new Student();//对象的实例化 st存储了对象的地地址信息
st.name = "张三";//引用访问属性
st.studentInfo(st);//引用访问方法