社区
Java SE
帖子详情
直接使用new 创建一个对象和使用对象引用的区别
ccww7788
2006-02-01 11:27:21
class aaa{
public void a1()
{
System.out.println("1111");
}
}
public class bbb{
public static void main(String[]args)
{
aaa a=new aaa(); 使用new创建的对象
a.a1();
aaa b; 这里使用引用
}
}
请问使用new创建对象和使用应用本质上或者使用有什么不同
...全文
362
12
打赏
收藏
直接使用new 创建一个对象和使用对象引用的区别
class aaa{ public void a1() { System.out.println("1111"); } } public class bbb{ public static void main(String[]args) { aaa a=new aaa(); 使用new创建的对象 a.a1(); aaa b; 这里使用引用 } } 请问使用new创建对象和使用应用本质上或者使用有什么不同
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luke817
2006-02-04
打赏
举报
回复
你这 “aaa b; 这里使用引用”
根本不是使用,
只是声明一个名为B的对象引用(句柄);
IT佬
2006-02-03
打赏
举报
回复
晕 没有初始化啊
yzhxhwt
2006-02-02
打赏
举报
回复
首先bbb的类内用aaa创建了a对象,a对象调用a1方法是理所当然,然后aaa有创建了b的引用,这时候还没有分配空间,使用new分配空间,你现在只是个引用,写了等于没写,没有意义。
ehope8
2006-02-02
打赏
举报
回复
aaa b is a reference, not the aaa object itself , all it is saying is I have a reference point to a aaa kind of object. where is the object, no where.
It is until you start to use either new or refer to another var.
For Example
aaa b;
b = new aaa(); // create a new object
b = a; // a address is copied to b, so both a and b point to the same object
dlxu
2006-02-02
打赏
举报
回复
楼主这样好像运行不行吧。如果你调用了B的方法,肯定会出没有初始化的错误的
wangzhanlili
2006-02-02
打赏
举报
回复
aaa b; null
racewind
2006-02-02
打赏
举报
回复
直接使用new 创建一个对象和使用对象引用的区别 ?
使用new来创建,那么程序就会在heap上分配空间来储存它,但是当你引用的时候则不然,你可以为它分配空间也可不分配,看你需要了!分配了就是个对象,如果不分配就是null,不占用任何硬件资源。aaa a=new aaa(); 使用new创建的对象
a.a1();-因为你实例化了一个对象所以你可以调用方法
aaa b;--对象根本不存在,所以你不可能用null reference操作
lei_elton
2006-02-02
打赏
举报
回复
B不能用
hzhou
2006-02-02
打赏
举报
回复
a已经被分配内存了,可以用了,b只是个指针,还不能用。
已经存在
2006-02-02
打赏
举报
回复
aaa a;
此时应该是告诉编译器有aaa这样的一个对象a了吧,但系统并未为他分配任何空间。
a=new aaa();
系统才应该为他分配空间了
absjustin
2006-02-02
打赏
举报
回复
你用aaa类创建咯b 但是没有初始化 如果使用的话 会报“没有初始化B”的错误 而且 此时b没有分配到内存空间 相当于是不存在的...
didoleo
2006-02-01
打赏
举报
回复
感觉你是不是从c++过来的?,aaa b; 这样在c++里 b在内存中实例化了。在java里
b还是null.
java六大必须理解的问题 文档
java六大必须理解的问题、内容比较详细、写的比较具体
Spring创建Bean与
new
对象
的
区别
1、Spring是
使用
反射创建的
对象
,可指定
对象
的生命周期;如果是
直接
new
的话就是
直接
创建一个
对象
。 2、Spring实现了
对象
池,一些
对象
创建和
使用
完毕之后不会被销毁,放进
对象
池(某种集合)以备下次
使用
,下次再需要这个
对象
,不
new
,
直接
从池里取,节省时间。 3、
使用
new
关键字创建的
对象
属于强
引用
对象
,所谓强
引用
,就是jvm垃圾回收机制永远不会回收这类
对象
,这时候需要手动移除
引用
。如果没有移除,这个
对象
将一直存在,久而久之,会引起内存泄露问题。 4、
使用
spring中的IOC就能很好的解决上述问
Java创建
对象
new
一个
对象
和 “=null“的
区别
例子: UserInfo userInfo =
new
UserInfo(); UserInfo userInfo = null;
区别
在于: 前者声明了一个
对象
的
引用
以后,在jvm中将一块新开辟的没有任何有效值的空间赋给了它,后者只是声明了一个
对象
的
引用
,jvm并没有开辟空间。 在
使用
的时候,如果类创建以后需要自己读写
对象
,就必须初始化,如果声明的
对象
是从其他地方接收
引用
可以写为=nu...
new
创建
对象
和
直接
声明创建
对象
有时候书看多了,遇到了以前没注意到的小细节就会犯迷糊,查了些资料大致弄明白了点关于
new
对象
和
直接
引用
对象
的
区别
。 众所周知,在C++里面可以
new
对象
,也可以
直接
声明
对象
。 编译器把内存分为三个部分: 1.静态存储区域:主要保存全局变量和静态变量。 生存期:整个程序。 2.堆:存储动态生成的变量。生存期:自己来决定。 3.栈:存储调用函数相关的变量和地址等。生存期
C++
对象
和实例的
区别
,以及用
new
和不用
new
创建类
对象
区别
起初刚学C++时,很不习惯用
new
,后来看老外的程序,发现几乎都是
使用
new
,想一想
区别
也不是太大,但是在大一点的项目设计中,有时候不
使用
new
的确会带来很多问题。当然这都是跟
new
的用法有关的。
new
创建类
对象
,
使用
完后需
使用
delete删除,跟申请内存类似。所以,
new
有时候又不太适合,比如在频繁调用场合,
使用
局部
new
类
对象
就不是个好选择,
使用
全局类
对象
或一个经过初始化的全局类指针似乎更加高...
Java SE
62,624
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章