知识点掌握:了解
今日重点:this关键字、对象、构造器、封装
个人心得:今天学习了封装,大部分都听明白了,但是很烧脑子,学的很累。明天继续努力!
1. this关键字
- this代表当前类的对象,代表当前方法的调用者,通常在构造器赋值
- this既然是代表方法的调用者,它实际上和对象的作用是一样的,既可以调属性,也可以调方法。
-
this不能用在static方法中。
-
开发中,this通常用在什么位置?
-
通常用在赋值,构造器赋值。
this调用构造器的要求
- 必须在构造器中使用this调用构造器
- 必须是第一句话(第一行代码)
public Ch02(String str) {
this.str = str;
}
public Ch02(String str,int i){
this(str); //this调用构造器
this.i = i;
}
2. 知识点
2.1 什么时候用构造器赋值?
看创建对象是为了干什么
- 如果说创建对象仅仅是为了调用这个类的方法,建议使用无参构造器
- 如果说创建对象的时候需要使用到对象的某个属性,可以使用构造器赋值
2.2 对象有什么功能?
- 对象可以调用属性,可以调用方法
- 当使用对象调用属性时,调用的是成员变量
//person是Person类的对象,是Person类的实例
Person person = new Person();
//对象调用的属性
//当使用对象调用属性时,调用的是成员变量
person.name = "张三";
//对象调用的方法
person.eat();
2.3 一个类中可以有什么?
属性,方法,构造器
2.4 无参构造器
public 类名() {}
3. 面向对象的特征:封装
1.代码层面
(1)属性私有化,所有的属性都要使用private封装
(2)提供一个公有的set,get方法。
getter方法能够按照客户的期望返回格式化的数据
setter方法可以限制和检验setter方法传入的参数是否合法,可以隐藏对象的内部结构
正确定义一个类:
(1)所有的属性私有化
(2)每个属性都有对应的setter、getter方法
2.思想层面
把一堆重复执行的代码封装成方法。把一堆重复执行的方法封装成一个类。
4. 异常
3个异常:
1、数组下标越界
2、内存溢出(错误)
3、空指针
空指针异常 NullPointerException
什么情况下会出现空指针异常:
引用数据类型的默认值(初始值是null,空引用)
养成的一个习惯:保证每个类都有无参构造器