在java中,老师说new出一个对象,那么new是什么意思,引用类型所占的内存是怎样的?

2025-03-04 04:07:08
推荐回答(3个)
回答1:

class Student{
int age;
String name;
}
public class Test01 {
public static void main(String[] args) {
Student s = new Student();

}
}

其实吧new对象就是申请内存空间在内存中的堆区中分配空间 例如

上面第7行在内存中其实是栈区有个引用(其实是存放该对象实例的一个地址的内存单元)

而这个对象实例就是堆区的一快存储空间 看你什么角度思考的 我是简单的和你讲讲内存中“发生的事情”

上图给你吧看,你把图片另存为桌面然后打开会清楚点

回答2:

所谓的new就是在内存中创建一个该对象的实例。比如说 我规定一个凳子有4条腿1个面(对象里的属性如username 等等)这是一个规则,所谓的new就是按照上面的规则制造出一个凳子。你坐在凳子上面就相当于开始使用了这个new 出来的对对象如(A a = new A(); a.getUsername();)

回答3:

对象的生命周期一般来就是看他是否没有被任何一个引用所引用了,那他就是生命终结了。这个就是比如一些方法中定义的对象在走出大括号有效作用范围,或者是走出方法,或者是你把唯一的引用赋值给其他对象了,那对应的对象生命周期就到了,注意这只是说一般情况,就是这个对象的finalize方法没有让自己这个对象起死回生的的时候他就死了。
finalize这个方法是可以让这个已经要死的对象重新活过来的。就是给一个对象一次反悔的机会,但是如果你放弃了那就是真的死了。
对象的生存周期就是当这个对象没有被任何引用指向的时候,他就是孤儿了,那他就到了一个关口,如果finalize方法也不复活,那就认为他死了。关键是这个对象有没有没人认领,要是没人认领,而且自己不找个干妈干爸,那他就是真活到头了。一些匿名对象是new完就立刻死了,因为匿名对象出生的目的就是之用一次就丢掉的,所以这个匿名是java所有对象里最悲剧的一个角色,用之即弃。而最尊贵的对象就是常量对象,这个是一生只伺候一个主人,也是用情专一的对象啊,一辈子就这一个。