zoukankan      html  css  js  c++  java
  • Java基础-面向对象三大特性

     三大特性为:
    封装 继承 多态

    先谈谈理解:

    封装:该露的露,该藏的藏

    隐藏对象的属性和实现细节,仅对外暴露公共的访问方式

    为了保证安全性,实现高内聚,低耦合(高内聚就是类的內部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用)

    实现:public private等关键字,私有属性和get set方法

    继承:类的关联,代码复用

    子类能继承父类的public,protected方法和属性,还可以重写方法

    单继承 extends

    要实现继承,可以通过 继承和组合 来实现。继承类似“人-学生”的关系,组合类似“人-手/脚”的关系(把其他类作为参数)
     
    修饰符:

     

     构造器:

    而java编译器会默认在子类构造器的第一行用super()先调用父类的无参构造器。如果父类没有无参构造器,则子类在实例化的时候会报错。这个时候就需要显示的在子类构造器第一行(必须在第一行)指定构造器super(args)来指定调用父类哪个构造器。
     
    构造器顺序:?
    super好像就是假如重写了父类的方法或者属性,用这个关键字可以调用到父类的这些东西。

    多态:父类数据类型的引用指向子类对象

     最典型的例子 :这样假如有个地方的参数需要的类型是List,那我们可以传递给它Arraylist或者LinkedList

    List<String> arrayList=new ArrayList<String>();
    实现多态,有二种方式,覆盖,重载。
    (1)Java的方法重载(类内部之间的多态):就是在类中可以创建多个方法,它们具有相同的名字,但可具有不同的参数列表、返回值类型。
    (2)Java的方法重写(父类与子类之间的多态):子类可继承父类中的方法,但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。重写的参数列表和返回类型均不可修改。
     
    多态的好处:提高了程序的扩展性具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作
    多态的弊端:不能使用子类的特有功能

  • 相关阅读:
    Manjaro 安装与初步使用
    hp 820 G3 驱动安装不上
    Linux Mint
    PHP模板引擎原理
    报名系统跟商品购物有点类似,可以参考一下他们的ER图
    tp5接口开发流程(思路版)
    mysql中主键和外键的作用,主表和从表如何区分,以及如何使用联合查询和TP5的联合查询
    关于会员-考生-考生自定义表单-预览打印
    PHP unserialize()和serialize两者的用法
    如何解决复杂的问题?如何在未知的领域里,解决需求?
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/14509987.html
Copyright © 2011-2022 走看看