前言

最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!

一、new是什么?

"new"可以说是Java开发者最常用的关键字,我们使用new + 构造方法来创建一个新的实例,或者说一个新的对象,比如: new User(),User()是构造方法的名字。

二、new的过程

1)实例化

给本类和父类(默认父类是Object类)的所有实例变量分配内存,但不包括任何静态变量,并返回指向该内存地址的引用。

2)初始化对象

初始化顺序是先初始化父类再初始化子类,初始化时先执行实例代码块然后是无参构造方法。

三、使用步骤

  • 1)创建对象

代码如下(示例):

//实体类
public class User {
	//姓名
    private String name;
    //年龄
    private int age;
}
-----------------------------------------
//创建一个User对象
public class Test01 {
	
    public static void main(String[] args) {
    	//把User这个对象在堆内存中的地址赋值给栈内存中的变量user
        User user = new User();
    }
}
  • 2)无参构造函数

new创建对象就是调用类的无参构造函数,类都会默认有一个无参构造函数,它的作用就是创建一个对象。

public class User {
	 //无参构造函数默认是隐藏的
    public User() {
    }
}

总结

new对象分为两个过程,实例化和初始化对象。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐