面向对象之封装

一:类和对象的区别
类:对实现生活中事物的描述,映射到java中,就是class定义的类
对象:就是这类事物,实实在在的个体;java中具体对象就是堆内存中new建立的实体,对象一般都是用来存储数据的(存储数据的实体在堆内存中)
堆内存中的变量一般都有默认初始化值,int对应的是0,String对应的是null,如果类中的变量已经有值,这个值称为显示初始化值。
 
事物的属性对应的是类中的变量,行为对应的是类中的函数
 
引用数据类型:数组对象,类类型变量(指向对象),String对象
基础数据类型:int ,boolean, long, char等
 
二:成员变量和局部对象的区别
 
作用范围不同:
成员变量作用域整个类中;局部变量作用于函数或者语句中;
内存不同:
成员变量和类一起存储在堆内存中,局部变量在栈内存中;
是否有默认值:
成员变量有默认值,不赋值也可以参与运算;
局部变量没有默认值,参与运算前必须先赋值。
 
三:匿名类
使用场景1:当对象的方法只调用一次时,可以使用匿名对象来完成,这样比较简化
使用场景2:可以将匿名对象作为实际参数进行传递
 
四:封装
面向对象之封装
私有只是封装的一种表现形式(包也是封装)
 
面向对象之封装
 

当一个类没有定义构造函数时,系统会默认给该类定义一个空参构造函数,

如果类中定义了构造函数,那么系统默认的空参构造函数将不复存在