栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于Java实例化对象写在构造函数外面和里面的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于Java实例化对象写在构造函数外面和里面的区别

Java中new出来的对象都存在堆内存中,指向对象的变量存在于栈中,而new对象的常量在方法区。如以下例子:

Integer inte = new Integer(10);

我们首先要知道:关于无参构造中的作用:

  1、无参构造方法一般是用来初始化变量或者对象的等;  

  2、Java会自动给每个类添加一个默认的无参构造方法,但在自己有写有参构造的情况下,最好再添加一个无参构造方法,否则程序报错。

那么我们在写代码的过程中,会有两种方式去创建对象,其中第一种就是:先声明实例变量,然后在无参构造中创建对象;第二种是:直接new对象。我们要知道这两者的区别是,如以下例子:

 

  1、前者(被注释的内容)是先在栈空间中申请了变量的存储空间,只有当调用无参构造的时候,才会将无参构造的对象在堆内存中申请存储空间;

  2、而后者则是同时在栈与堆中申请了内存空间。

虽说两者所占内存空间是相同的,但是在以后的开发中代码越写越多的情况下,如若每次都直接初始化对象,后面发现有的方法不需要使用了,这样就会导致内存溢出。所以一般都是先声明变量,告诉自己已经有这个对象了,先不需要实例化这个对象。

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035150.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号