Day34--Student student = new Student();讲解

Day34--Student student = new Student();讲解

  1. 第一个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; // 这一行会导致编译错误
          }
      }
      
  2. 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类对象的引用,通过这个引用调用了setNamegetName方法来设置和获取学生的姓名。
  3. 最后一个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对象,并且初始化了学生的姓名属性。
posted @ 2024-11-18 18:11  1hahahahahahahaha  阅读(32)  评论(0编辑  收藏  举报