面向对象(oop)的三大特征:封装、继承、多态(隐藏第四种 抽象)
封装的作用:安全
封装的意义:隐藏对象内部的复杂性、只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
程序设计的要求:高内聚、低耦合。
封装的实现:public 公共的 protected 受保护的 default 默认的 private 私有的
类本身 包权限 子父类 其他包
public √ √ √ √
protected √ √ √
default √ √
private √
get/set方法
private 私有属性一般会提供公共的get/set方法,以便外界对我私有属性进行读写。
get是为了获取属性,要有返回值。(boolean得用is)
set是为了改变属性,提供参数。
继承:是为了实现代码重用
extends关键字:子类extends父类
子类继承父类,子类拥有父类的非私有的属性和方法。
java只允许单继承(一个孩子只能有一个爹,但一个爹可以有多个孩子),在interface中可以多继承。
子类不能继承父类的构造方法:
子类在使用自己的构造方法的时候,会先去调用祖先的构造方法,一次到本类为止。
多态:多样化
多态:重载overload 、重写override
重写:在子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体却不同
重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺序,个数)
区别:重写在子父类之间 而 重载是在同一个类之间
object 对象类 他是所有java类的父类(根基类)
如果一个类没有继承任何类,这个类就继承了object类