java0515封装 封装

java0515封装
封装

这是模板

 java0515封装
封装

Car和car2跟模板没有一点关系赋的值是根据模板刻画之后赋给car和car2自己的,不是给模板赋的值。

封装,它也是面向对象思想的特征之一。面向对象共有三个特征:封装,继承,多态。。

 java0515封装
封装

上面的color和下面的color区别在于下面的是局部变量的不赋初始值,只有进堆的上面color才会赋初始值,要是给下面的color的局部变量赋初始值只能手动赋值

 java0515封装
封装

java0515封装
封装

见到main就得有static(暂时性的,以后老师会再讲)2019年5月15日10:02:30

局部变量和成员变量区别

理解清楚了类和对象之后,结合前5天的学习知识,发现在描述类的属性和前面学习定义变量差别不大,唯一区别就是位置发生了改变,那么类中定义的变量,和在方法定义的变量有啥差别呢?

回忆以前学习时变量的定义方式,和位置,以及现在定义类中属性的特点。总结下面几点异同

区别一:定义的位置不同

定义在类中的变量是成员变量

定义在方法中或者{}语句里面的变量是局部变量

区别二:在内存中的位置不同

成员变量存储在堆内存的对象中

局部变量存储在栈内存的方法中

区别三:生命周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

区别四:初始化不同

成员变量因为在堆内存中,所有默认的初始化值

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。