面对对象--概述

什么是对象?

   +---->对象可以泛指一切现实中存着的事物

   +---->类是对象的抽象集合

什么是面对对象?

  +--->万物皆对象,面对对象实际就是人与万物接触====》面对对象

为什么要使用面对对象语言?

   +--->面对对象符合现实生活,是计算机语言更加符合现实逻辑,从而实现更好的为人服务。

面对对象有什么好处?

   +--->相比面对过程语言,面对过程的--->事事亲为 。
   +--->面对对象相当于请他人做事,能够快速的完成,讲究相互协调。


如何创建对象?

用new关键字创建一个对象,new专门用于调用类的构造方法
                      ---->相当于指向“堆”中的一个内存段

面对对象的三大特征

  1、封装

  2、继承

  3、多态

    +---->封装
      +-->什么是封装
        +---->封装就是该露的露,不该露的不露。
        +--->比如笔记本就是个封装,他把很多东西都封装在一起,我们不需要知道内部的东西,只需要会操作他就行了,而且还有提供接口给我们使用。

为什么要封装?
  +---> 属性的读写控制,数据的安全检查(提高安全性)
    ----> 隐藏实现细节, 减少修改、扩展类时对外界组件的影响,增强易维护性
    ----> 提高软件的可复用性
怎么封装?
  使用private修饰
  再提供get(),set()方法的接口使用。
-----------------------------------------------------
    +---->继承
      +-->什么是继承?
        +---->将很多事物共有的属型和特征(方法)抽取出来形成一个类(父类),其他每种类型就是子类,子类与父类的关系就是继承。

为什么要继承?
    +--->提高代码复用性
    +--->约定好共同行为,相当于定义一套行为标准,提高代码的灵活性和扩展性。
     

怎么继承?
  +--->使用关键字extends

Final 的特性 

  1、被final修饰的类不能被继承(最终类)
  2、被final修饰的变量不能被修改(静态常量)
  3、被final修饰的方法不能被重写(模板设计)

+---->多态
  +-->什么是多态?
  +---->一种事物的多种状态

为什么要使用多态?

  1.可替换性(substitutability)

  2.可扩充性(extensibility)

  3.接口性(interface-ability)

  4.灵活性(flexibility)

  5.简化性(simplicity)

实现多态的条件?
1、继承
2、重写(可以没有)
3、父类的引用指向子类的对象

      什么是引用?
        +--->相当于指针?
        +------->内存地址----->指向存放数据的内存块


java基础--面对对象的更多相关文章

  1. Java学习——面对对象的思想入门

          本文是看过<head first Java>之后的一点感悟,写点东西帮忙以后回忆,Java目前在我的工作中用到还不多,而我又对面对对象的编程非常的感兴趣.曾经在MFC平台上写过 ...

  2. java基础(二) -对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...

  3. Java基础03-12_对象比较

    对象比较 如果说现在有两个数字要判断是否相等,可以使用"=="完成 如果是字符串要判断是否相等使用"equals()" 但是如果说现在有一个自定义的类,要想判断 ...

  4. JAVA基础之对象的初始化

    本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响.另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初 ...

  5. java基础(一)对象

    对象的创建 Test test = new Test(); Test test = new Test("a"); 其实,对象被创建出来时,对象就是一个对象的引用,这个引用在内存中为 ...

  6. Java基础---其他对象

    第一讲     System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in: ...

  7. Java基础 -- 持有对象(容器)

    一 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] ...

  8. Java 基础之一对象导论

    对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这 ...

  9. Java基础之对象序列化

    1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现 ...

随机推荐

  1. 提示让IE8以下版本的浏览器去更新浏览器

    需求: 强制让IE进行页面渲染时候,用最新的方式渲染,并提示让IE8以下的版本去更新浏览器并给一个连接地址 那,如何满足? <!DOCTYPE html> <html lang=&q ...

  2. JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)

    1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...

  3. The server's host key is not cached in the registry. You have no guarantee that the server……

    使用putty中的pscp.exe ,可以通过脚本方式实现windows向linux上传文件,但pscp.exe第一次运行时必须手工输入确认信息,本文主要解决掉初次运行时的人工交互,彻底实现静默运行. ...

  4. mysql数据库安装注意事项:

    mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...

  5. 开发快速定位需求(Coding之前的工作)

    自我总结,求高人指点,欢迎拍砖! 目的:快速定位feature需求,避免浪费不必要的时间 需求目的:它要用来解决什么问题?(客户需求,bug fixed,学习新技术) 需求对象:它针对的对象是谁?(明 ...

  6. jQuery中的DOM操作------复制及包裹节点

    1.复制节点: 如果单击<li>元素后需要再复制一个<li>元素,可以用clone()方法来完成: $(this).clone().appendTo("ul" ...

  7. 排序算法之NB三人组

    快速排序 思路: 例如:一个列表[5,7,4,6,3,1,2,9,8], 1.首先取第一个元素5,以某种方式使元素5归位,此时列表被分为两个部分,左边的部分都比5小,右边的部分都比5大,这时列表变成了 ...

  8. 初识DIV+CSS

    div元素是用来为html文档内大声(block-level)的内容提供结构和背景的元素. css是Cascading Style Sheets(层叠样式表单)的缩写,是一种用来表现html或xml等 ...

  9. python中的函数对象与闭包函数

    函数对象 在python中,一切皆对象,函数也是对象 在python语言中,声明或定义一个函数时,使用语句: def func_name(arg1,arg2,...): func_suite 当执行流 ...

  10. Installing VirtualBox

    The (VirtualBox) website has a lot of quality documentation including: End-user documentation Techni ...