初识JAVA之OOP
有一段时间没发博客了,每次手打还是很累,但感觉很充实。。
最近发现很多初学者到了面向对象编程这个知识点时,不太清楚类是如何转化成为对象的,很是困扰,今天我在这里谈谈我的理解,大家一起来研究学习...
要搞清楚面向对象,首先,我们需要明白什么是类,什么是对象然后再来谈面向对象,再才是OOP对吧:
我们先来谈谈对象吧:
对象的定义是:由具有属性和方法的具体事物组成;
那么这句话是什么意思呢?
就是说,首先对象这个东西啊是要实实在在存在的,打个比方,你的女朋友,是实实在在存在你的身边吧,你看得到,也摸得到吧(不知道我摸得到不嘿嘿),她有自己的特征可以让你分辨这么多女的哪个是你的女朋友吧,她的静态特征有哪些呢?比如说名字,外貌,身高。身材,胸围等等,这些呢,就是她的属性。那么在编程中呢,属性是哪些呢?那么就是我们学的数据类型了,比如说int、String等等;那么你女朋友除了外贸等等特征还有一些动态特征吧?比如说她喜欢吃香蕉是把嘿嘿,喜欢摇摆着走路对吧?那么这些就是她平时习惯做的事情了,执行的操作就是我们的方法了,在编程中啊方法就是我们的函数了,main函数也是个特殊的方法。那么我们对象的概念就出来了,大家理解吗?
那么类是什么呢?
定义:类是由一个个具有相同属性和方法的对象抽象而来。
那么这句话怎么理解呢?打个比方,狗这个类,我们怎么分辨狗这个类的啊?首先他们都是汪汪的叫吧?都是四条腿跑路吧?长相都有相似的地方吧?那么我们把他们相同的地方归纳起来就组成了狗这个族群这个类了,他是抽象的;
那么类的封装是什么呢?就是把属性和方法放在一个内里面,然后把细节隐藏起来。
面向对象编程呢?就是以类为最小单位进行编程,我们在使用这个类的时候不需要考虑这个类是如何来的,只需要知道这个类干嘛的,不知这么说大家理解吗?
下一篇研究面向对象二:
类与对象的关系
类 对象名 = new 对象();是如何转换的
初识JAVA之OOP的更多相关文章
- 初识Java
Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- Java的OOP三大特征之一——继承
Java的OOP三大特征之一——继承 子类继承父类的特征和行为(属性和方法),使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类 ...
- 初识Java作业
初识Java作业 一. 填空题 Java技术按照用途不同分为三大版本,分别是JavaSE. javaEE 和JavaMe Java虚拟机就是一个虚拟的用于执行 .class ...
- Java学习笔记心得——初识Java
初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...
- 初识Java程序,编写简单代码?
Dear All: 初识Java程序,编写简单代码? 首先小编在这里说下我们今天编写Java程序使用的是 eclipse 开发工具! 1.下载eclipse 官网地址:http://www.eclip ...
- 初识JAVA语言
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 前言 很多游戏开发者可能会有疑问,你会C#,JS,TS,为什么还要初识JAVA呢?有人可能会说,多学点对自己有好处 ...
随机推荐
- java Proxy(代理机制)
我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习 ...
- 创建第一个 vlan network "vlan100" - 每天5分钟玩转 OpenStack(94)
上一节我们在 ML2 配置中 enable 了 vlan network,今天将创建 vlan100 并讨论底层网络变化. 打开菜单 Admin -> Networks,点击 “Create N ...
- 模板引擎Nvelocity实例
前言 最近一直忙于工作,没时间来管理博客,同时电脑也不给力,坏了一阵又一阵,最后还是去给修理了,这不刚一回来迫不及待的就写一篇文章来满足两个月未写博客的紧迫感. Nvelocity 关于nveloci ...
- 有意思的Python:开发和部署一览
我觉得在有时间的条件下,学习不同的开发语言,对于保持对技术的理解是有帮助的. Python是一门这样简单而且有趣的语言.网上资料已经比较多了.我这里主要对开发和部署环境所涉及的几个工具做些介绍. 1. ...
- 学习总结之 WebApi 用户登录和匿名登录,及权限验证
近些天,看了一些博客园大牛关于webApi项目的的文章,也有请教师兄一些问题,自己做了个Demo试了试,收获甚多.感谢感谢,下面是我一些学习的总结,如若有错的地方请多多指教!! WebApi登陆与身份 ...
- php使用post方式获得文件扩展名
<form action="" method="post"> <input type="file" value=" ...
- ios 静态库冲突的解决办法
最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了.发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理 ...
- Hammer.js分析(一)——基础结构
从github上面将源码下载下来,会发现有个src文件夹.当前版本是2.0.6. 总的结构如下: 一.常量 这里将常量全部列在一起是可以在对比源码的时候,更方便的查看相应内容. var VENDOR_ ...
- 1Z0-053 争议题目解析702
1Z0-053 争议题目解析702 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 702.View the Exhibit and examine the parameter se ...
- Cesium原理篇:7最长的一帧之Entity(下)
上一篇,我们介绍了当我们添加一个Entity时,通过Graphics封装其对应参数,通过EntityCollection.Add方法,将EntityCollection的Entity传递到DataSo ...