57.面向对象软件开发的优点

  1. 代码开发模块化,更易于维护
  2. 代码复用
  3. 增强代码的可靠性和灵活性
  4. 增强代码的可理解性
  5. 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象

 58.封装

  封装给对象提供了隐藏内部特性和代码的能力.对象提供一些被其他对象访问的方法来改变它的内部的数据.在Java当中,有3种修饰符:pubic , private , protected.每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限.

  封装的好处:

  1. 通过隐藏对象的属性来保护对象的内部状态.
  2. 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是拓展.
  3. 禁止对象之间的不良交互提高模块化.

 59.多态

  多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力,一个多态类型上的操作可以应用到其他类型的值上面.

 60.继承

  继承给对象提供了从基类获取字段和方法的能力.继承提供了代码的重用性,也可以在不修改类的情况下给现存的类添加新特性.

 61.抽象

  抽象是把想法从具体的实例中分离出来的步骤,因此,要根据它们的功能而不是实现细节来创建类.Java支持创建只暴露接口而不包含方法的实现的抽象类.这种抽象技术的只要目的是把类的行为和实现细节分离开.

    抽象和封装是互补的概念.一方面,抽象关注对象的行为.另一方面,封装关注对象行为的细节.一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略.

java基础-008的更多相关文章

  1. 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字

    008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...

  2. Java基础语法

    java基础学习总结——基础语法1 一.标识符

  3. java基础学习总结——基础语法1

    一.标识符

  4. Java基础——数组Array

    一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...

  5. java 基础语法 1

    一.标识符 二.关键字 三.JAVA基础数据类型 3.1. java常量 3.2. java变量 从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后 ...

  6. [ 转载 ] Java基础12--基础学习总结——数组

    java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...

  7. java基础—基础语法1

    一.标识符

  8. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  10. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

随机推荐

  1. linux 相关学习记录

    (一)概念① 物理CPU实际Server中插槽上的CPU个数物理cpu数量,可以数不重复的 physical id 有几个② 逻辑CPU /proc/cpuinfo 用来存储cpu硬件信息的信息内容分 ...

  2. springside3.1.8打包

    地址寻找 https://sourceforge.net/ https://sourceforge.net/projects/springside/files/SpringSide%203.0/3.3 ...

  3. Canu FAQ常见问题

    链接:Canu FAQ Q: What resources does Canu require for a bacterial genome assembly(细菌基因组组装)?   A mammal ...

  4. ios使用webview浏览指定网页

    #import "EDRViewController.h" @interface EDRViewController () @property(nonatomic,weak) UI ...

  5. HTML5 localStorage and sessionStorage

    转载至:http://blog.csdn.net/fdipzone/article/details/25517615 HTML5 提供两种web存储方法,localStorage 与 sessionS ...

  6. linux下如何优雅的挂载一个外界设备(比如优盘)

    最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令:        yum -y install gcc yum -y install gcc-c++ ,居然说是没有这样的镜像,也罢 ...

  7. 学习HTML5之新特性标签一览(详细)

    HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...

  8. ztree 展示

    1. controller@RequestMapping("/function.htm") public String function(HttpSession session, ...

  9. EasyUI combotree 使用技巧

    $('#areaName').combotree({ url: '../Ajax/Common.ashx?Method=GetCombotreeData', multiple: true, check ...

  10. tab切换-自动、点击、内容变换

    <div class="tab">                    <ul class="pics">               ...