java面向对象的三大特征:封装、继承、多态
1、封装 encapsulation [ɪnˌkæpsjuˈleɪʃn]
1、封装的作用:隐藏对象内部的复杂性,对外公开简单的接口(API)。(高内聚,低耦合)
2、四种权限修饰符:public、protected[prə’tektid]、缺省、private ['praɪvət]
3、 修饰的对象是:可修饰类、构造器、成员变量和方法。
4、作用:控制类与内部结构的可见性。public 所有可用, protected 同包可用,缺省 同包可用,private 本类可用。
2、继承 inheritance [ɪn’hɛrɪtəns]
作用:
1、提高了代码的复用性。
2、便于功能的扩展。
3、为之后多态的使用提供了前提。
格式: class A extends B()
子类继承父类后的表现:子类获取了父类中声明的所有属性和方法。对于父类中private 定义的属性和方法虽然继承了但无法调用。子类继承父类后依然可以扩展方法也可以重写父类的方法。在java 中仅支持单继承。如果一个类没有声明父类,则此类继承于java.lang.object类。
对父类方法进行重写(参数,返回值,权限):
1、参数:子类可以对父类同名同参的方法进行重写。创建子类对象调用重写方法使用的是子类重写的方法。
2、返回值:重写时父类的返回值是空or 基本数据类型时不能更改,如果返回值时A类更改也只能是A的子类。
3、权限:更改权限只能更大(private 不能重写,也不能调用)
父类与子类的关系:
1、属性与方法:当有子类与父类重名变量时用super 调用父类中的属性与方法。
2、构造器:在子类的构造器中有个默认的super()调用了父类的构造器。
3、不同包的继承:default 权限继承后无法调用与重写。
3、多态 polymorphic [ˌpɑˌliˈmɔrfɪk]
理解:一个类类型的多种形态
1.多态的格式:父类的引用指向子类的对象。
Person won= new Woman();
2.Woman类中可以有自己的方法只是用won调用新增方法时会报错。
3.调用子父类的方法是重写的方法。
4.没有被重写的方法调用时执行的是从父类继承来的方法。