最简单的两种创建对象的方式
- new一下
new的变量放在堆空间 - 直接创建
直接创建的变量放在栈空间
2种方式java和c++都有
但是有啥区别呢?
区别
-
java创建对象时,需要引用
-----------------栈内存<-------------->堆内存----------
-----------------引用<------------------->对象------------
–myClass class_one<----------->new myClass()– -
c++创建对象时,根据变量的位置,存储位置不同
- 静态变量、全局变量:静态内存
- 函数变量:栈内存
- 动态变量:堆内存
- java有内存回收机制,new一个对象之后,无需delete,c++需要