直接使用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创建对象和使用应用本质上或者使用有什么不同
...全文
358 12 打赏 收藏 转发到动态 举报
写回复
用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.

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧