面向对象
OOP面向对象的英文简称。
三大特点:
封装、继承、多态
一、方法重载
方法重载的要求:
A)方法参数数量不同;
B)方法参数类型不同;
C)相同数量的参数中,参数的顺序也要相同。
方法重载与返回值类型无关,与参数列表的参数名称无关,构造方法同样也遵循方法从在。
二、封装
ctrl+shift+S = 快速封装快捷键
ctrl+O = 快速导包
A)我们常常使用private封装属性,并通过建立属性的get和set方法进行读取写入属性的内容。
B)关键字this
当形参和参数名形同时使用,this表示该类的属性的名字;
C)关键字return
表示调用方法后的返回值;返回值的类型和方法定义时的返回值的类型一致。
三、继承
子类具有父类的一般方法和自身的特殊方法
a) 继承的方法
权限修饰符 类名 extends 父类名
b) 继承的特点
1.子类必须有父类定义的构造方法
构造方法中必须有super方法,此方法表示继承父类的构造方法(因此子类不能自动继承父类的构造方法),并且super必须在第一位出现,否则报错。
2.子类可以有自己独有的方法。
3.子类可以通过super来调用父类的方法。
4.调用子类的方法时,如果和父类的方法重名(形参一致),子类会重写父类的方法(覆盖)。
c) 修饰符权限
修饰符权限 | public | protected | default(默认) | private |
同包同类 | √ | √ | √ | √ |
同包异类 | √ | √ | √ | × |
同包异继承 | √ | √ | × | × |
异包 | √ | × | × | × |
d) final的特点(最终)
修饰对象 只能new一次,指该对象的唯一性。但是对象的属性可以更改。
修饰方法 可以被继承,但是不能重写。
修饰类 不能被继承。
修饰属性 不能被改变(常量)。
三、多态
同一个方法或操作,通过不同传入的参数,得到不同的结果。
A) 向上转型
父类对象接收子类对象
B) 向下转型
子类对象接收父类对象
注意:需要使用有继承的关系的两个对象进行转换,向下转型一定会使用到强制转换。