java中对象和引用对象的区别

什么是对象,什么是对象引用

对象,就是类的一个实例化,把一个抽象不好理解的类举出一个实体来,例如人类是一个类,会吃喝拉撒,实例化出一个小明这个具体的人。 对象引用,就是得给这个人取个名字来指代他,跟c++的指针一样,指向这个人,可以给他一个名字王小明,王小明就是对象引用。我们想到这个人的时候就会用王小明去代替他,例如 王小明今天吃了什么,王小明多高,多重,是这个人的属性,用编程语言就是 print(王小明.身高) 那么在内存上有什么区别呢,当我 用人这个类实例化出王小明时,电脑是这样识别的 (人 王小明),王小明=new 人(185,60),先给出一个对象引用,此时王小明这个代号可以指向任何人,你也可以叫王小明,他也可以,然后我实例化出一个人,我把王小明这个代号指向了这个人,这个人的内存是在堆内存里的,而王小明这个对象引用是在栈内存里的,

栈和堆有什么区别呢

1 栈:为编译器自动分配和释放,如函数参数、局部变量、临时变量等等 2 堆:为成员分配和释放,由程序员自己申请、自己释放。否则发生内存泄露。典型为使用new申请的堆内容。 除了这两部分,还有一部分是:3 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 明显,一个人可以拥有很多名字,小名绰号艺名笔名,我们可以用周树人去指代这个对象,也可以用鲁迅去指代这个对象,甚至可以用迅哥儿去指代,也就是说一个对象可以拥有很多个对象引用

注:这里这个文章讲一个引用可以指向多个对象,我不是很理解和赞同https://blog..net/weixin_43343890/article/details/100740707 然后,就会有一个问题了,能不能有一个类我们只需要一个对象呢,例如人这个类,我写他的时候,我能不能只想要王小明这一个人,别人再创建时无论创建多少个对象引用都只能指向我这个一个对象,

单例模式可以满足这样的需求

具体可以看这篇文章 https://blog..net/yangshangwei/article/details/50198821

c++和java在创建对象时有什么区别呢

经验分享 程序员 微信小程序 职场和发展