Day34--Student student = new Student();讲解
Day34--Student student = new Student();讲解
-
第一个
Student
(类类型)-
含义:
- 第一个
Student
表示的是一种数据类型,即类的类型。它定义了这个变量student
所能引用的对象的类型。在Java中,变量必须有一个明确的类型,这个类型决定了变量可以存储什么样的对象,以及可以对这个变量进行什么样的操作。 - 就像是在告诉编译器,“我这个变量
student
将来只能用来存储Student
类的对象,不能是其他类型的对象”。
- 第一个
-
示例:
- 假设除了
Student
类,还有一个Teacher
类。如果试图将一个Teacher
类的对象赋值给student
变量(类型为Student
),编译器会报错。 - 例如:
class Teacher { // 教师类的定义 } public class Main { public static void main(String[] args) { Student student = new Student(); Teacher teacher = new Teacher(); student = teacher; // 这一行会导致编译错误 } }
- 假设除了
-
-
student
(对象引用变量)-
含义:
student
是一个变量,用于存储对象的引用。当执行new Student()
创建一个Student
类的对象时,这个对象会在内存中分配一块空间。student
变量就存储了指向这个对象在内存中位置的引用(可以简单理解为内存地址)。- 通过这个引用,就可以访问和操作这个对象的属性和方法。例如,如果
Student
类有一个getName
方法,就可以通过student.getName()
来调用这个方法。
-
示例:
- 假设
Student
类有一个getName
方法,用于获取学生的姓名。
class Student { private String name; public String getName() { return name; } public void setName(String newName) { name = newName; } } public class Main { public static void main(String[] args) { Student student = new Student(); student.setName("John"); System.out.println(student.getName()); } }
- 在这个例子中,
student
变量存储了一个Student
类对象的引用,通过这个引用调用了setName
和getName
方法来设置和获取学生的姓名。
- 假设
-
-
最后一个
Student
(构造函数调用)-
含义:
new Student()
中的Student
是在调用Student
类的构造函数。构造函数用于创建类的对象并初始化对象的属性。在Java中,每个类至少有一个构造函数,如果没有显式地定义构造函数,编译器会自动生成一个默认的构造函数。- 构造函数的名字必须和类名相同,它可以有参数用于初始化对象的不同属性,也可以没有参数(像这里的情况)。
-
示例:
- 假设
Student
类有一个带有姓名参数的构造函数。
class Student { private String name; public Student(String studentName) { name = studentName; } public String getName() { return name; } } public class Main { public static void main(String[] args) { Student student = new Student("Alice"); System.out.println(student.getName()); } }
- 这里通过
new Student("Alice")
调用了带有一个String
参数的构造函数来创建一个Student
对象,并且初始化了学生的姓名属性。
- 假设
-