java 对象是在什么时候创建的?

  我们都知道,创建java类对象的方式: new + 类的构造方法(可能是有参构造或者无参构造)!

 

在大多数初学者眼中,执行构造方法就是创建实例,其实不然。这一点可以从this关键字来看出:

public class User{

  public User(){

    this.test();//标记

  }

  public void test(){

    System.out.print("正在执行构造方法...");

  }

}

  从以上代码中我们可以看出:当构造方法执行到注释标记处,我们使用了this关键字,而this的作用就是是指代构造方法执行时的当前类实例,也就是说在构造方法执行之前,实例已经被创建了!所以类实例或者说类对象并不是构造方法创建的,而是new 关键字来创建的。而构造方法的 作用其实是初始化实例,这一点我们从带参的构造方法中可以看出:

public class User{

  private String name;

  private int age;

  public User(String name ,int age){

    this.name = name;

    this.age = age;

    this.test();//标记

  }

  public void test(){

    System.out.print("正在执行构造方法...");

  }

}

所以,类对象是在执行构造方法前已经被创建,而构造方法的作用就是初始化对象!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyysf.html