1.什么是类?什么是对象?
1)现实世界是由很多很多对象组成的
基于对象抽出了类
2)对象:真实存在的单个的个体
类:类型/类别,代表一类个体
3)类中可以包含:
1.所有对象所共有的属性/特征————成员变量
2.所有对象所共有的行为——————-方法
4)一个类可以创建多个对象
同一类型所创建的对象,结构相同,数据不同
5)类是对象的模板,对象是类的具体的实例
方法签名:方法名+参数列表
2.方法的重载:
1)发生在同一个类中,方法名相同,参数列表不同,方法体不同
2)编译器在编译时会根据方法的签名自动绑定调用的方法
3.构造方法:构造函数、构造器、构建器
1)给成员变量赋初值
2)与类同名,没有返回值类型
3)在创建(new)对象时被自动调用
4)若自己不写构造方法,则编译器默认一个无参构造方法,
若自己写了构造方法,则不再默认提供
5)构造方法可以重载
4.this:指代当前对象,哪个对象调用方法它指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
this的用法:
1)this.成员变量名————–访问成员变量
2)this.方法名()—————-调用方法(一般不用)
3)this()———————–调用构造方法
成员变量和局部变量是可以同名的
——用的时候,采取的是就近原则
——此时访问成员变量是不能省略this.的
5.null:空,没有指向任何对象
若引用的值为null,则该引用不能进行任何操作了,
若操作则发生NullPointerException空指针异常
6.引用类型之间画等号:
1)指向同一个对象
2)通过一个引用对象的修改会影响另一个引用的访问
基本类型之间画等号:
1.赋值
2.对一个变量的修改不会影响另一个变量
7.引用类型数组 使用:
1 | 1)Student[] stus = new Student[3]; //创建Student数组对象 |
8.继承:
1)作用:代码复用
2)通过extends来实现继承
3)超类:派生类所共有的属性和行为
派生类:派生类所特有的属性和行为
4)派生类继承超类后,派生类具有: 派生类的+超类的
5)一个超类可以有多个派生类
一个派生类只能继承一个超类——单一继承
6)继承具有传递性
7)java规定:构造派生类之前必须先构造超类
在派生类的构造方法中若没有调用超类的构造方法
—则默认super()调用超类的无参构造方法
在派生类的构造方法中若调用了超类的构造方法
—则不再默认提供
super()调用超类构造方法必须位于派生类构造方法的第一行
9.super:指代当前对象的超类对象
super的用法:
1)super.成员变量名———–访问超类的成员变量
2)super.方法名()————-调用超类的方法
3)super()——————–调用超类的构造方法
10.向上造型:
1)超类型的引用指向派生类的对象
2)能点出来什么,看引用的类型
11.方法的重写(Override):重新写、覆盖
1)发生在父子类中,方法名称相同,参数列表相同,方法体不同
2)重写方法被调用时,看对象的类型
3)遵循”两同两小一大”原则:
1.两同:
1)方法名称相同
2)参数列表相同
2.两小:
1.派生类方法的返回值类型小于或等于超类方法的
1)void时,必须相同
2)基本数据类型时,必须相同
3)引用数据类型时,小于或等于
2.派生类方法抛出的异常小于或等于超类方法的———-异常
3.一大:
1)派生类方法的访问权限大于或等于超类方法的
12.重写与重载的区别:
1)重写(Override):
1.发生在父子类中,方法名相同,参数列表相同,方法体不同
1.”运行期绑定”,看对象的类型绑定方法
2)重载(Overload):
1.发生在一个类中,方法名相同,参数列表不同,方法体不同
2.”编译期绑定”,看参数/引用的类型绑定方法