对Java中new关键字的理解
在编写Java程序中,最常用的就是new,那么new这个关键字到底做了什么(目前的理解,后续再补充)
在Java中,new
关键字用于创建对象的实例。当使用new
关键字时,它会在堆内存中为对象分配空间,并调用对象的构造方法来初始化对象的状态。相当于分配了一个内存地址,每new一个就有一个新地址,
当使用new
关键字创建对象时,实际上发生了几个重要的步骤:
-
分配内存空间:
new
关键字会在堆内存中为对象分配足够的空间,以容纳该对象的所有成员变量。 -
调用构造方法: 在分配内存后,会调用对象的构造方法。构造方法负责初始化对象的状态,可以设置对象的属性或执行其他必要的操作。
-
返回对象引用:
new
关键字返回一个指向新创建对象的引用。该引用可以用于在程序中操作、访问和传递对象。
声明一个变量来指向一个对象,即引用
当通过类来声名一个对象的时候,这个变量要通过new来获取对象。
先从简单看,要声明一个变量,需要写:type name;
这将告诉编译器将使用name引用一个type类型的对象。用一个原始变量,这个声明也保留了适当的内存量的变量。
也可以在自己的类上声明一个引用变量。例如:Point originone
如果只是声明一个像originone这样的引用变量,其值将待定,直到有一个对象真正被创造和分配给它。只是简单地声明一个引用变量而并没有创建一个对象。对于这样,需要使用new运算符。在代码中使用它之前,必须指定一个对象给originone。否则,得到一个编译器错误-----空指针异常。
实例化一个类对象
new运算符实例化一个类对象,通过给这个对象分配内存并返回一个指向该内存的引用。new运算符也调用了对象的构造函数。
注意:“实例化一个类的对象”的意思就是“创建对象”。创建对象时,正在创造一个类的“实例”,因而“实例化”一个类的对象。
new运算符需要一个单一的,后缀参数,需要调用构造函数。构造函数的名称提供了需要实例化类的名称。
new运算符返回它所创建的对象的引用。此引用通常被分配给一个合适的类型的变量,如:Point originone =new Point(23,94);
初始化一个类对象
像有很多构造方法的时候,那么形参的选则就极为重要,然后通过选择出来的构造方法声明对象,那么没选择到的就没法调用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具