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