我正在看一位高级学生的代码,我看到了在任何教程中都没有看到的东西。一个对象是在另一类构造函数内实例化的。这样的东西:
public class Student {
private String name;
private int age;
...
public Student() {
Course course = new Course();
}
}
该应用使用具有课程和学生表的数据库。这是什么目的?它与外键有关吗?
如果我正确理解了您的问题,则在Student
类的构造函数中的以下行:
Course course = new Course();
单独看到这条线,我会说这没有任何意义,因为course
对象不会在Student
构造函数之外看到。
但是有些人在构造函数中执行一些代码。因此,我猜某些代码可能会在Course
类的构造函数中执行。
即使可以这样做(在构造函数中执行代码),建议在构造函数中执行任何操作,除非构造/创建该类别的实例。
类别类的实例表示正在运行的Java应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组也属于一个类,该类反映为类对象,该类对象由所有数组共享,具有相同的元素类型和尺寸的数量。原始Java类型(布尔,字节,char,短,int,long,float和double),关键字void也表示为类对象。班级没有公共构造师。相反
以下示例使用类对象打印对象的类名:
void printClassName(Object obj) {
System.out.println("The class of " + obj +
" is " + obj.getClass().getName());
}