02.类和对象
# 01.类和对象
# 1、类和对象
1、什么是类
- 我们在前面的学习中已经知道,类 (class) 是一个程序的基本单位,我们之前所编写的
.java
文件都是类
- 我们在前面的学习中已经知道,类 (class) 是一个程序的基本单位,我们之前所编写的
public class ImoocStudent {
}
1
2
3
2
3
2、什么是对象
- 你也许听到过一句话:“万物皆对象”,是的,现实世界中所有的事物,都可以是对象
- 例如一个慕课网学生、一辆汽车、NBA 巨星乔丹等等,都是对象
# 2、构造方法
- 构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的
- 构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数
public class Example {
public Example() { // 定义无参构造方法
System.out.println("无参构造方法");
}
public Example(String name) { // 定义有参构造方法
System.out.println("有参构造方法");
}
// 类的主方法, 是类的入口点
public static void main(String[] args) {
Example obj01 = new Example();
Example obj02 = new Example("张三");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 3、属性和方法
public class Person {
// 成员属性:用于存储对象数据(类的组成部分)
private String name;
private int age;
// 静态变量:与类无关的变量
public static int callCount = 0;
// 无参构造方法
public Person() {
// 可以初始化默认值
}
// 全参数构造方法(构造方法必须与类同名,可以有多个)
public Person(String name, int age, String address) {
// this关键字是用来引用当前对象的,它可以用来访问对象的属性和方法,以及调用构造函数
this.name = name;
this.age = age;
}
// 静态方法:与类无关,无需创建类即可调用
public static int getCallCount() {
System.out.println("执行了静态方法: getCallCount");
return callCount;
};
// 公共方法
public void introduce() {
System.out.println("Name:" + name + " Age:" + age );
}
// 重写 toString 方法
@Override
public String toString() {
return "Person{" + "name='" + name + '\'' + ", age=" + age + '}';
}
// 公共的 getter 方法来获取属性值
public String getName() {
return name;
}
// 公共的 setter 方法来设置属性值
public void setName(String name) {
this.name = name;
}
// 主方法,用于测试 Person 类
public static void main(String[] args) {
System.out.println(Person.getCallCount());
Person person = new Person("Tom", 30, "beijing");
// 调用对象的方法
person.introduce();
// 打印对象的信息
System.out.println(person.toString());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
上次更新: 2024/5/31 11:18:42