面向对象的三大特征:继承 封装 多态
1.构造器
定义:构造当前类的对象的函数
格式:public 返回类型 方法名(){}
类中有构造器,一般默认不写
创建对象过程中,一定会用到当前类的构造函数,
构造函数有返回值,返回的是当前对象的内存地址
对象之间的赋值就是地址之间的赋值
2.方法重载
定义:同一个类中,多个方法的方法名相同,参数不同(类型、顺序、个数),互为重载方法
普通函数重载构造函数重载
一个对象只能调用一个构造函数
如果构造方法被重载了,默认构造方法就不存在了,如果说还要用默认无参的,则必须显性写出来
初始化当前类的对象属性
3.继承
定义:类与类之间的继承(子类、父类),子类继承父类的属性和方法
public class 子类类名 extends 父类类名{}
应用场景:当一个类需要用到另外一个类中的属性,而自己不想重新定义的时候,就可以通过继承关系,直接从另外一个类中获取过来
注意:继承是单继承的,一个子类只能有一个父类,不能同时继承多个
但是可以多层继承
4.方法重写
前提条件:继承
定义:子类重写父类的方法,方法名、参数、返回类型都一致
作用:修改父类定义的过程,对父类继承过来的函数进行修改(过程)
子类如果重新定义了父类的函数,则把父类的函数覆盖掉
5.自动转型
定义:子类的对象会自动转型为父类的类型
父类的类型 对象名 = new 子类类型();
注意:转型后的对象,是父类类型的对象
转型后的对象注意点:如果子类重写了父类的方法,则执行重写后的,如果没有重写,则执行父类自己的,一定不能调用子类特有的方法
6.多态
多个同一个类型的对象,调用同一个方法的时候,执行的过程不一样
多态现象出现->自动转型+方法重写->继承
补充:
this对象: 指代当前类的对象
寻找方式:
1.看this在哪个函数中使用
2.this就等于调用这个函数的对象