携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
1、前言
梦想也许今天无法实现,明天也不行,但是只要今天的自己比昨天的自己足够努力,就会距离梦想进一步。
时间过得是真快,转眼今天又周五了,又到了休息的日子,光阴一去再难见。
2、正文
对象在内存中的运行机制:学完这些,对对象具体是怎么执行的会认识的更加透彻,对以后理解其他面向对象知识也至关重要。
对象是放在堆内存中,所有new出来的对象都在堆内存中
Car c = new Car();c变量中存储的是对象在堆内存中的地址,而不是成员变量的数据。
成员变量的数据放在对象中,然后再存于堆内存中。
两个变量指向同一个对象:
垃圾回收:当堆内存中的对象,没有被任何变量引量(指向)时,就会被判定为内存中的“垃圾”。Java存在自动垃圾回收器,会定期进行处理,不用我们自己清理。
构造器:
学习构造器的目的:真正知道对象具体是通过调用什么代码得到的;能够掌握为对象赋值的其他简便写法;为以后学习面向对象编程的其他内容做支撑。
构造器的作用:定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。
构造器的格式:
修饰符 类名(形参列表){
...
}
public class Car{
...
//无参数构造器
public Car(){
}
//有参数构造器
public Car(String n, double p){
...
}
}
调用构造器得到对象的格式:类 变量名称 = new 构造器;
构造器的分类和作用:无参数构造器(默认存在的):初始化对象时,成员变量的数据均采用默认值。
有参数构造器:在初始化对象的时候,同时可以接受参数为对象进行赋值。
构造器的注意事项:
任何类定义出来,默认就自带了无参数构造器,写不写都有。
一旦定义了有参数构造器,那么无参数构造器就没有了,如果还想用无参数构造器,此时就需要自己手写一个无参数构造器了。
今天是我参加8月更文挑战的第14天,敬请期待下文。