Java:面对对象三大特征

如果提到三大特征,那么就是:继承、封装、多态
如果提到四大特征,那么就是:继承、封装、多态、抽象

继承

  1. 概念:子类通过extends关键字可以继承父类中(除构造方法)的所有类中的成员

  2. 作用:代码复用,简化代码

  3. 可以从父类继承的成员:除构造方法都可以
    但对于private修饰的成员,必须通过间接(其他public、protected修饰的方法)方式访问

  4. 类和类之间是单继承,可多重继承;
    所有的类都是隐式继承Object

=======================================================================

封装

  1. 概念,就是通过访问权限修饰符 修饰类或者类中的成员,而达到保护内部成员安全的目的

  2. 作用:保护内部数据

  3. 访问权限修饰符:控制访问范围
    public:公共的,最大权限,被其修饰的成员,在任意目录下,都可以访问到 (所有类)
    protected:受保护的,在同包类和子类中都可以访问
    默认不写:只能在同包类中访问
    private:私有化的,被其修饰的成员,只能在当前类中访问

  4. 封装四步:满足这个标准,就是一个JavaBean
    https://blog.csdn.net/ExceptionCoder/article/details/107262709

  5. 注意事项:
    不是只有private才叫封装,private只是最大限度的封装而已。
    单一职能原则:功能最小化,不要想着一个方法写完所有的功能 .代码复用率高

=======================================================================

多态

  1. 概念:就是创建对象的时候用父类变量装子类对象(向上造型)

  2. 作用:屏蔽了子类的差异性,提高了程序的扩展性

  3. 向上造型:用父类对象装子类
    父类类型 对象名 = new 子类类型(…);
    对象名.方法();//如果子类重写了方法,则会执行对应子类重写后的方法,不能调子类独有的方法。

  4. 向下造型 :强制类型转换(父转子),转换后可调用子类的独有方法
    语法:子类类型 变量 =(子类类型)父类变量/父类类型值;
    在向下造型的时候,应该先进行判断,使用instanceof或者父类变量.getClass() == 子类类型.class

  5. 多态调用方法的优先级顺序:本类里找不到,向上找父类的,先是找父类的方法,然后再找父类的参数的本类方法,最后是父类的参数的父类方法
    eg:找show(O)
    this.show(O)—>super.show(O)—>this.show((super)O)—>super.show((super)O)

=======================================================================

抽象

  1. 概念:没有任何方法体(就是没有大括号),且用abstract修饰的方法,()后用分号。

  2. 作用:从语法层面强制所有的子类重写该方法,保证业务逻辑的合理性

猜你喜欢

转载自blog.csdn.net/ExceptionCoder/article/details/107338317
今日推荐