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的方法重写(父类与子类之间的多态):子类可继承父类中的方法,但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。重写的参数列表和返回类型均不可修改。
     
    多态的好处:提高了程序的扩展性具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作
    多态的弊端:不能使用子类的特有功能

  • 相关阅读:
    C# .NET5.0 平台介绍、演变
    ORA01034/ORA27101解决
    navicat无法连接虚拟机MySQL
    [原创]Windows下Google V8 javascript引擎编译
    CentOS 6.9安装MySQL5.5
    国内yum源
    【转】关于C++程序的编码问题
    VS C4819 编译错误解决方法
    Windows下Vundle安装
    vmware NAT 静态ip配置
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/14509987.html
Copyright © 2011-2022 走看看