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