Java创建对象:构造方法调用的顺序

Java创建对象很简单,创建类,然后直接调用构造方法,就可以创建该类的对象。
创建对象分几个阶段完成:

  1. 首先,内存被分配给所有类的成员对象。
  2. 然后初始化基类(毕竟,只有有了父类,子类才能继承父类,就像得先有了你爸,才能有你。)。
  3. 所有变量被赋值(如果变量已经有了定值)。
  4. 最后,调用构造方法。

举个例子:

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
	}
}

猜你喜欢

转载自blog.csdn.net/A_easy_learner/article/details/117165551