Java でのオブジェクトの作成は非常に簡単で、クラスを作成し、コンストラクターを直接呼び出してそのクラスのオブジェクトを作成します。
オブジェクトの作成は、いくつかの段階で行われます。
- まず、クラスのすべてのメンバー オブジェクトにメモリが割り当てられます。
- 次に、基本クラスを初期化します (結局のところ、サブクラスが親クラスを継承できるのは、親クラスのみです。親を持つ前に親を持つ必要があるのと同じです)。
- すべての変数に値が割り当てられます (変数に既に固定値がある場合)。
- 最後に、コンストラクターが呼び出されます。
例えば:
class Pet
{
int x = 5, y = 5;
int weight = 10;
Pet(int x, int y)
{
this.x = x;
this.y = y;
}
}
class Cat extends Pet
{
int tailLength = 8;
int age;
Cat(int x, int y, int age)
{
super(x, y);
this.age = age;
}
}
它实际运行过程是:
class Pet extends Object
{
//1. 首先分配内存,内存被分配给了所有类的成员变量
int x;
int y;
int weight;
//2. 初始化基类
Pet(int x, int y)
{
//调用基类的构造方法
super();
//初始化变量
this.x = 5;
this.y = 5;
weight = 10;
//执行构造方法里的代码
this.x = x;
this.y = y;
}
}
class Cat extends Pet
{
//分配内存
int tailLength;
int age;
Cat(int x, int y, int age)
{
//调用基类的构造方法
super();
//初始化变量
this.tailLength = 8;
//age 没有定值,因此不进行赋值
//执行构造方法里的代码
this.age = age
}
}