一、面向对象
1. 什么是面向对象
小伙伴们可能有很多都听说过面向对象这个概念,但是什么是面向对象呢,其实我们又说不出个所以然来。
面向对象是以对象为核心来思考,解决问题的一种方式,它是 Java 核心的一种思想;
世间的万事万物我们都可以理解成一个对象,所以才有我们万物皆对象的说法。
经过上述的描述,很多小伙伴应该说了,这我还没明白什么是面向对象啊,你这讲的是什么鬼?
我们暂时先把这个概念放下,因为要说面向对象,首先得了解两个概念:什么是类,什么是对象?等我们对这两个概念有些了解了,我们再回来看看这个概念。
2. 什么是类,什么是对象
2.1 类
类指的是类型(Type),是指一类事物,使用Java中的 class 关键字来描述,也可以把类理解成设计图纸,模板等
// 这里我们的 Student 就是我们所说的类 , 指的是学生这一类事物
public class Student {
}
类是抽象的,它是一个泛指,指的不是某一个具体的东西,类呢是要提取这一类事物的共有特征(属性)与功能(行为)
一个类中可以包含:
成员变量
指的是一个类型所包含的(共有的)属性/特性
方法
指的是一个类型所包含的(共有的)行为/功能
// 这里我们的 Student 就是我们所说的类 , 指的是学生这一类事物
public class Student {
// 成员变量 - 属性/特征
String stuId; // 学号
String name; // 名字
int age; // 年龄
String address; // 地址
// ...
//方法 - 行为/功能
void study(){
System.out.println(name+"在学习...");
}
void sayHi(){
System.out.println("大家好,我的学号是" + stuId + ",我叫"+name+",今年"+age+"岁了,家住"+address);
}
}
一个类可以创建多个对象
类也是 数据类型 的一种,它属于我们的 引用类型
2.2 对象
对象就是根据类创建出来的一个个独立且具体的实例(实际个体)
public class StudentTests {
public static void main(String[] args) {
// 数据类型 引用 指向 对象
Student s1 = new Student();
// 声明一个Student类型的引用s1,指向了一个学生对象
// 还可以理解为:创建了一个学生对象,指向了Student类型的引用s1
}
}
一个类可以创建多个对象
public class StudentTests {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student();
Student s3 = new Student();
}
}
每个对象都具有类里面各种属性(变量)