一、基础篇--1.1Java基础

  • 面向对象的特征

  封装、继承和多态

  封装:

    定义:封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。

    优点:1、保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>数据封装。

       2、方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者==>方法封装。

       3、良好的封装可以降低程序的耦合度。

    类成员的修饰符

访问修饰符 同一个类 同包 不同包,子类 不同包,非子类
private      
default    
protect  
public

  继承:
    定义:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。继承所描述的是“is-a”的关系。

    特点:

     1、子类拥有父类非private的属性和方法

     2、子类可以添加自己的方法和属性,对父类进行扩展

     3、子类可以重新定义父类的方法

    缺点:

     1、父类变动,子类就会跟着变动

     2、继承破坏了封装,父类对子类机会是透明的

     3、继承是强耦合

    《Think in java》中提到:问一问自己是否需要从子类向父类进行向上转型。如果必须向上转型,则继承是必要的,但是如果不需要,则应当好好考虑自己是否需要继承。

    构造函数:

     1、子类无法继承父类的构造函数

        2、创建子类时候,编译器会自动调用父类的无参构造函数

     3、如果父类没有无参构造函数,需要在子类的构造函数中第一行用super调用父类的构造函数

  多态:

    

猜你喜欢

转载自www.cnblogs.com/foreverYoungCoder/p/9854862.html