Java-面向对象oop
在提到面向对象的时候,大多数的书上面介绍的是简短的 类是对象的集合,对象是类的实例化。这样笼统的说法的确可以概括面向对象的思想,但却不能让一个刚入门的人理解到面向对象。
在这里先介绍一下类,当你在Java中看到类的时候,希望你能想到人类。人类里面有各种国度、各种肤色的人们,直到具体到一个具有身份证号和姓名的人。就是这些具体的人向上的抽象组成了类。物以类聚,具有相同的属性和动作物品聚到一块,便是一种类,这个类里面可以取出来无数的具体的物品,每一个物品都有他的属性,所以这些相同的物品组成的类便会把他们的共有属性定义为自己的类属性,比如“Color”,动物都有颜色,高级动物--人类也有不同的肤色,所以就可以把这个共有的对象属性提取为一个类的属性。在类中定义成员的变量便是属性,动作也是,在类里面的方法被称为动作,和属性的提取方法一样,都是将一类对象具有的共同动作提取为类的动作。这就是类的属性和方法。
对象,万事万物都是对象,都是可以通过类new出来的,在Java中的创建对象的方式,类名 引用名 = new 类名([参数列表]);相当于是从类里面取出来一个对象,引用名是在栈中存放的地址,可以通过这个地址去找到堆中new出来的具体对象,关于JVM的堆栈介绍之后会介绍的。在这里还是讲对象,在人类里的你、我都是 人 这个类 new 出来的具体的一个People,你、我都是人类的一个实例,一个具体的体现。想从类中创建对象、或者说提取对象的关键字便是new,这就是Java用类创建对象的固定格式。
面向对象的好处:学过c的都是到,c是面向过程的,程序的每个任务都需要编写者一步一步的全部代码写出来,各种情况都需要考虑。而在Java中面向的想的思想中,就是 找谁做、谁会做。如果在c中想要吃馒头,则就需要作者去将馒头的制作过程了解一下,然后一步一步的从生产小麦、面粉、制作面团、蒸馒头等一步一步的完成。而面向对象则是,卖馒头的人会做馒头,不用管其制作过程,直接找到卖馒头的一类人中的一个,也就是从类里面new一个卖馒头的人来用即可。
Java-面向对象oop的更多相关文章
- Java面向对象OOP思想概述
目录 OOP思想(Object Oriented Programming) 类和对象 接口 抽象类 OOP三大特性 封装 继承 多态 OOP复用的形式 OOP思想(Object Oriented Pr ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225唐振远 实验二 "Java面向对象程序设计"
20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...
- 20145208 实验二 Java面向对象程序设计
20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
- 20145221 《Java程序设计》实验报告二:Java面向对象程序设计
20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
随机推荐
- Natively Compiled Code: A Comeback?
RAD Studio and Natively Compiled Code In today's development landscape, natively compiled code is ma ...
- Qt第三方圆形进度条-及其改进
Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar ...
- Windows系统版本判定那些事儿(有图,各种情况,很清楚)
前言 本文并不是讨论Windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度讨论下Windows获取系统版本的方法和遇到的一些问题.在Win8和Win10出来之后,在获取 ...
- 浅谈网络爬虫爬js动态加载网页(一)
由于别的项目组在做舆情的预言项目,我手头正好没有什么项目,突然心血来潮想研究一下爬虫.分析的简单原型.网上查查这方面的资料还真是多,眼睛都看花了.搜了搜对于我这种新手来说,想做一个简单的爬虫程序,所以 ...
- Qt5 中对 C++11 一些新特性的封装
在 Qt5 中,提供更多 C++11 的特性支持,接下来我们将进行详细的说明. slots (槽) 的 Lambda 表达式 Lambda表达式 是 C++11 中的一个新语法,允许定义匿名函数.匿名 ...
- Hadoop编程踩坑
Hadoop踩坑 在hadoop所有组件编程中,遇到在Windows下运行程序出现 java.io.IOException: Could not locate executable null\bin\ ...
- 关于CORS 应该注意的几点
前言 对于跨域,随着w3c的CORS的出现,相比较于有些年头的jsonp,CORS以其简单安全,支持post的优势越来越收到大家的欢迎.具体如何CORS的原理和实现,直接推荐阮老师的文章,十分详细.本 ...
- Zookeeper_ACL
getAcl path 查看某个node的权限 设置权限1 world方式 setAcl <path> world:anyone:<acl>例如 setAcl /node1 w ...
- 图片加载时间缓慢问题API
一.背景 最近段时间,开发写值工具项目中,出现图片加载问题API,响应时间缓慢:为了优化图片加载问题,我进行图片压缩方法,然后API的图片加载还是慢,最终在自己无意中乱写找到了根本的原因. ...
- node.js + mssql 简易封装操作
时间吧,总是这么凑巧,在我学习[node.js]还没几天,我的 Microsoft SQL Server Management Studio 18 就歇菜了,至于怎么歇菜的吧....它可能的意思就是想 ...