在提到面向对象的时候,大多数的书上面介绍的是简短的 类是对象的集合,对象是类的实例化。这样笼统的说法的确可以概括面向对象的思想,但却不能让一个刚入门的人理解到面向对象。

在这里先介绍一下类,当你在Java中看到类的时候,希望你能想到人类。人类里面有各种国度、各种肤色的人们,直到具体到一个具有身份证号和姓名的人。就是这些具体的人向上的抽象组成了类。物以类聚,具有相同的属性和动作物品聚到一块,便是一种类,这个类里面可以取出来无数的具体的物品,每一个物品都有他的属性,所以这些相同的物品组成的类便会把他们的共有属性定义为自己的类属性,比如“Color”,动物都有颜色,高级动物--人类也有不同的肤色,所以就可以把这个共有的对象属性提取为一个类的属性。在类中定义成员的变量便是属性,动作也是,在类里面的方法被称为动作,和属性的提取方法一样,都是将一类对象具有的共同动作提取为类的动作。这就是类的属性和方法。

对象,万事万物都是对象,都是可以通过类new出来的,在Java中的创建对象的方式,类名 引用名 = new 类名([参数列表]);相当于是从类里面取出来一个对象,引用名是在栈中存放的地址,可以通过这个地址去找到堆中new出来的具体对象,关于JVM的堆栈介绍之后会介绍的。在这里还是讲对象,在人类里的你、我都是 人 这个类 new 出来的具体的一个People,你、我都是人类的一个实例,一个具体的体现。想从类中创建对象、或者说提取对象的关键字便是new,这就是Java用类创建对象的固定格式。

面向对象的好处:学过c的都是到,c是面向过程的,程序的每个任务都需要编写者一步一步的全部代码写出来,各种情况都需要考虑。而在Java中面向的想的思想中,就是 找谁做、谁会做。如果在c中想要吃馒头,则就需要作者去将馒头的制作过程了解一下,然后一步一步的从生产小麦、面粉、制作面团、蒸馒头等一步一步的完成。而面向对象则是,卖馒头的人会做馒头,不用管其制作过程,直接找到卖馒头的一类人中的一个,也就是从类里面new一个卖馒头的人来用即可。

Java-面向对象oop的更多相关文章

  1. Java面向对象OOP思想概述

    目录 OOP思想(Object Oriented Programming) 类和对象 接口 抽象类 OOP三大特性 封装 继承 多态 OOP复用的形式 OOP思想(Object Oriented Pr ...

  2. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  3. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  4. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  5. JAVA课程实验报告 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  6. 20145225唐振远 实验二 "Java面向对象程序设计"

    20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  7. 20145208 实验二 Java面向对象程序设计

    20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

  8. 20145221 《Java程序设计》实验报告二:Java面向对象程序设计

    20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  9. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  10. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

随机推荐

  1. Linux文件系统操作与磁盘管理

    简单文件操作 df---->report file system disk space usage du---->estimate file space usage 2.简单的磁盘管理 d ...

  2. SharePoint js操作原生的New/Edit表单

    列表的表单,有个类似的需求:在New需隐藏特定字段,Edit时显示. 默认是New/Edit表单的字段是一样,就算在Content type 是隐藏也是同时影响两个表单.   如何做到仅仅在New时隐 ...

  3. [铁人赛] ASP.NET Core 2 系列- 从头开始

    来势汹汹的.NET Core似乎要取代.NET Framework,ASP.NET也随之发布.NET Core版本.虽说名称沿用ASP.NET,但相较于ASP.NET确有许多架构上的差异,可说是除了名 ...

  4. Java实现Qt的SIGNAL-SLOT机制(保存到Map中,从而将它们关联起来,收到信号进行解析,最后反射调用)

    SIGNAL-SLOT是Qt的一大特色,使用起来十分方便.在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器.被监听对象中保存有Listener的列表,当相关事件 ...

  5. Flask在VSCODE下基本开发环境配置

    1.创建环境 cd /project/path python3 -m venv venv 第一个VENV是命令,第二个是文件夹名 如果环境不要了,一般做法是直接整个(VENV)文件夹删掉 环境修改下面 ...

  6. Bitmap的读写和几个小儿科的滤镜效果~

    闲来玩玩图像处理,拿破仑说过:“不想自己实现滤镜的美工不是好程序员~~#@!*^...#&!@......”  因为在学校做过很多美工的工作,而且从小就喜欢画画所以对图像相关的东西都还比较感兴 ...

  7. 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。

    在本人的博客里,分享了有关中值模糊的O(1)算法,详见:任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理.实现及效果 ,这里的算法的执行时间和参数是无关的.整体来说,虽然速度也很快, ...

  8. 30411MySQL安装与配置_win10

    1 下载 1.1下载地址 下载地址  https://downloads.mysql.com/archives/community/ 1.2 选择适合自己的版本并下载 1.3 将下载文件解压至自定义路 ...

  9. Linux上vim的使用

    .........以下是我在使用vim时的操作经验........... (首先要了解vim主要是命令模式,输入模式,可视化模式,主要区别就是在不同模式下可以完成不同的操作,只是个编辑器,没有必要太纠 ...

  10. 基于 Roslyn 实现动态编译

    基于 Roslyn 实现动态编译 Intro 之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn ...