前天总结忘发了,今天补上。开班第6天,学习了类与对象、封装、构造方法,下附总结笔记
day06【类与对象、封装、构造方法】
1、能够理解面向对象的思想
面向过程:当需要实现一个功能过得时候,每一个具体的步骤都需要亲力亲为,详细处理每一个细节
面向对象:当需要实现一个功能过得时候,不关心具体的步骤,而是找一个具有该功能的人,来替我做事
面向对象三大特性:
封装:封装就是将一些细节信息隐藏起来,对于外界不可见
方法就是一种封装
继承
多态
2、能够明确类与对象关系
类:是一组相关“属性”和“行为“的集合,可以看成是一类事物的模板,使用该事物的属性和行为特征来描述该事物
属性:描述实物的状态信息(事物有什么)
行为:事物能做什么
对象:一类事物的具体体现。对象是一个实例,必然具备该事物的属性和行为
类是对一类事物的描述,是抽象的
对象是一类事物的实例,是具体的
类是对象的模板,对象是类的实体
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
3、能够掌握类的定义格式
定义类:就是定义类的成员,包括成员变量和成员方法
成员变量:类中方法外
成员方法:和以前定义方法几乎一样,只不过把static去掉
4、能够掌握创建对象格式,并访问类中的成员
格式:类名 对象名 = new 类名();
访问类中的成员变量:对象名.变量名
访问类中的成员方法:对象名.方法名(参数列表);
5、能够理解对象的内存图
当一个对象作为参数,传递到方法当中时,实际上传递进去的是对象的地址值
6、能够说出成员变量和局部变量的区别
定义的位置不一样
局部变量:方法内部
成员变量:类中方法外
作用的范围不一样
局部:只有方法当中才可以使用,出列方法就不能再用
成员:整个类全都可以使用
默认值不一样
局部:没哟默认值,如果想使用,必须手动进行赋值
成员:如果没有赋值,会有默认值,规则和数组一样
内存的位置不一样
局部:位于栈内存
成员:位于堆内存
生命周期不一样
局部:随着方法进栈而诞生,随着方法出栈而消失
成员:随着对象创建而诞生,随着对象被垃圾回收而消失
注意事项:
方法的参数也是局部变量,参数在方法调用的时候,必然会被赋值
7、能够理解private关键字的含义
private是一个权限修饰符,代表最小权限
可以修饰成员变量和成员方法
被private修饰后的成员变量和成员方法,只有在本类中才能访问
使用规则:
间接访问private成员变量,就是定义一对Getter/Setter方法
必须叫setXxx或者是getXxx命名规则:
对于Getter来说,不能有参数,返回值类型和成员变量对应
对于Setter来说,不能有返回值,参数类型和成员变量对应
8、能够说出this关键字可以解决的问题
格式:this.成员变量名;
this代表所在类的当前对象的引用(地址值),即对象自己的引用
方法被哪个对象调用,方法中的this就代表那个对象,即谁在调用,this就代表谁
9、能够理解构造方法的含义
构造方法就是专门用来创建对象的方法,当我们通过关键字new来创建对象时,构造方法用来初始化该对象,给对象的成员变量赋值初始值
注意事项:
构造方法的名称必须和所在类名称完全一样,就连大小写也一样
构造方法不要写返回值类型,连void都不写
构造方法不能return一个具体的返回值
如果没有编写任何构造方法,那么编译器就会默认赠送一个构造方法,没有参数、方法体什么事情也不做
public 列名称(){}
一旦编写了至少一个构造方法,那么编译器将不在赠送
构造方法也是可以进行重载的
重载:方法名相同,参数列表不同
10、能够用封装的思想定义一个标准类
标准javaBean类格式:
public class 类名称{
//成员变量
//构造方法
//无参构造方法【必须】
//有参构造方法【建议】
//成员方法
//getXxx()
//setXxx()
}
|
|