美文网首页
Java类的三大特性总结

Java类的三大特性总结

作者: 千夜零一 | 来源:发表于2021-03-17 22:42 被阅读0次

    Java类的三大特性:

    简言之,封装、继承、多态。


    封装

    含义:封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。
    实现:通过类来实现封装,通过访问修饰符来实现信息隐藏。
    访问修饰符:共4种访问修饰符(包括3个关键字)

    public:可以被所有的类访问。公共的。
    protected:可以被同一包内的类访问和被子类继承。受保护的。
    private:不能被其所在类以外的任何类访问。私有的。
    缺省:只能被同一包内的类访问。【不写访问权限(默认权限,或称包权限)】

    优势:a、将变化隔离 ;b、便于使用 ;c、提高重用性 ;d、提高安全性。
    缺点:将变量等使用private修饰,或者封装进方法内,使其不能直接被访问,增加了访问步骤与难度!


    继承

    含义:多个类具有共同的属性(成员变量)与行为(成员方法)的时候,将这些共同的部分抽取出来定义到一个公共的类中,其他及各类可以与这个公共的类形成继承关系,从而在多个类中不需要重复定义公共部分。这个公共的类就是父类,也称为超类或者基类,其他的类就是子类。换句话说,继承是类与类的一种关系,比较像集合中的从属于关系。
    注意:在Java中是单继承的,也就是说一个子类只有一个父类。
    优势:a、减少代码量,能很好的提高复用率;b、使类与类之间存在继承关系,是实现多态操作的前提。
    缺点:继承使得多个类之间具有了子父类关系,当一个类存在多个子类的时候,如果父类发生变化,那么这些子类会跟着一同变化,造成类与类之间的“强耦合”关系!而java编程一大要求就是要“高内聚、低耦合”,所以需要尽量减少耦合也就是多层继承。
    特点:(1)子类比父类强大;
    (2)java是单继承,不能进行多继承。但是可以继承多层子类(不建议继承超过3层);
    (3)子类继承父类,但是对父类的成员变量是无法直接操作,只能通过父类继承过来的setter和getter方法。


    多态

    含义:多态指的是对象的多种形态。常说的多态就是java中的“向上转型”。
    注意:封装和继承,是实现多态的基础。
    向上转型

    Person p= new Teacher();
    Person p= new Student();
    其中Teacher类继承了Person父类,并重写了父类的方法。Student类同理。
    作为父类,可以在实例化该对象的时候,让该对象自行决定响应何种行为。
    举例来说,父类实现了disPlay()方法,子类Teacher、Student都对该方法进行了重写,而通过向上转型,也就是使得父类具备子类的方法特性。而java是单继承的,父类有多个子类,子类重写的父类方法也具有多个,因此称为多态。
    【调用方法具体实现】p.disPlay()方法,向上转型的是哪个子类,则就实现哪个子类进行重写过后的disPlay方法。

    前提: A.必须有子类和父类,具有继承或实现(继承) B.子类必须重写父类的方法(重写) C.父类的引用变量指向子类的对象(向上转型)
    优势

    A. 可替换性,多态对一存在的代码具有可替代性;
    B. 可扩充性:增加的子类不影响已存在的类的特性的运行和操作;
    C. 接口性:多态时超类通过方法签名想子类提供了一个公共的接口,由子类来完善或者覆盖它而实现的;
    D. 灵活性:在应用中体现了灵活多样的操作,提高了使用的效率;
    E. 简化性: 多态简化对应用软件的代码的编写和修改过程,尤其在处理大量的对象的运算和操作时,这个特点尤为突出和重要。

    缺点:只能使用父类的引用访问父类的成员。
    特点:1、成员变量:编译与运行时期都看父类! 2、成员方法:编译时期看父类,运行时期看子类。

    相关文章

      网友评论

          本文标题:Java类的三大特性总结

          本文链接:https://www.haomeiwen.com/subject/qxojcltx.html