java为什么要实例化?实例化的对象和引用用变量在用法上有什么区别?
6个回答
展开全部
因为只有实例化之后,才能将这个对象放到内存中,然后才能在规定的范围内来调用。
当然,这不包括静态对象,静态对象是可以直接调用的。
再有,每次实例化其实都是一个新建的过程
例如Object a = new Object();这句话,你可以写无数次,只要每次起到名字不同,就会在内存中创建无数个Object对象,这样在调用其中任意一个的时候互不干扰。
其实简单的说,对象的引用和变量引用差不多,都是内存地址的引用,如果你是新手可以先认为是一样的,以后学的多了,你会更加理解二者的区别
当然,这不包括静态对象,静态对象是可以直接调用的。
再有,每次实例化其实都是一个新建的过程
例如Object a = new Object();这句话,你可以写无数次,只要每次起到名字不同,就会在内存中创建无数个Object对象,这样在调用其中任意一个的时候互不干扰。
其实简单的说,对象的引用和变量引用差不多,都是内存地址的引用,如果你是新手可以先认为是一样的,以后学的多了,你会更加理解二者的区别
展开全部
java对象的使用首先是声明对象,这个声明的对象名存在栈内存中,只是一个引用,没有实际的内容,所以需要实例化,实例化的意义在于在堆内存中分配一块内存给这个对象存放。按照《thinking in java》的说法是,声明的对象名称是一个句柄,实例化的对象是句柄操纵的对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为实例化过程其实是在内存、堆栈开辟空间的过程,实例化以后拥有内存空间才可以进行一系列操作(操作系统方面的知识可解惑);
初学可以认为两者用法一样,深入那么一点就是内存空间不一样,再深入一点……(不做性能优化木有了解也不碍事)
初学可以认为两者用法一样,深入那么一点就是内存空间不一样,再深入一点……(不做性能优化木有了解也不碍事)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然实例化之前首先是类!创建了类是不能用的,只有实例化之后才能产生具体的对象!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
总要把对象放到内存吧,其实呢实例化一个对象就是申请堆栈空间,然后找相应的堆空间和栈空间的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询