声明对象,但是此对象无法使用,因为没有具体内存指向;
类名 对象名=null;
Dog d2=null;//声明一个类的变量,除了八种基本数据类型以外,都是引用数据类型,包括数组.
必须实例化对象,才能使用.
d2=new Dog();
类名 对象名=new 类名();
Dog d3=new Dog();
匿名对象,只能使用一次,用完后该对象会被释放.
new 类名().方法/属性
new Dog().run();
**除了匿名对象,在确定其他对象不用时,应该释放对象.
d2=null;
1.new表示创建一个对象.
2.表示实例化对象.
3.表示申请内存空间.如果没有申请内存空间,会报空指针异常.
1.栈内存存放的是对象名,是一串地址,堆内存中存放对象的属性.
2.当两个对象指向同一个地址时,那么修改的是两个对象的属性,如b2=b3;修改b3会把b2一起修改.对象之间的赋值只有相同类型才可以赋值
3.当对象被其他对象赋值后,那么该对象之前的属性会被当做垃圾被gc程序回收.尽量减少该垃圾.
本章概述了java中实例化对象的三种方法,以及new关键字的使用,和对象在内存空间中的结构,面向对象编程自然离不开对象,所以本章必须要牢记于心,才能在java中游猎;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!