在汇编语言中,没有类型的划分,只有数据跟指令,当然这也是从程序的角度去理解,对CPU来说,一切都是数据。

1:数据类型的概念

啥子叫类型?它是抽象的,是对具有相同特征跟行为的对象的描述。万物皆对象,对于大自然中的万物,类型这个概念都是存在的。

2:Java中的数据类型

那对于数据来说,首先明白数据有大有小,有长有短,那么我们就用不同的类型来描述数据所能表示的大小。
这样做有啥好处呢?可以更好的以接近人类的思维方式去操作数据,同时也有利于内存分配管理。

ok,以上说的就是基本数据类型,那我们现在要在程序中描述一个人类,用基本数据类型就不能去很好的描述了吧?
这时候,就需要自定义一种数据类型,比如一个class,class Person,这样我们就创建了一个人类。

class Person {
}

人这个类被创建成功了,他自然有属于人类的特征跟行为,那么现在我们来描述人这个类有的特征,也就是添加他的属性。

class Person {int age; // 人有年龄int gender; // 人有性别String name; // 人有姓名
}

我们为人这个类添加了3种最基本的特征,然后继续描述人类最基本的行为,也就是添加他的方法。

class Person {int age; // 人有年龄int gender; // 人有性别String name; // 人有姓名public void say(){  // 人会说话System.out.println("哇哇哇");}
}

现在,这是一个完整的人类了,我们可以发现,这是我们创建的类,其中又包含了一些基本数据类型用来描述这个人类。
这也正是面向对象程序设计的基础:将相关的数据(属性)和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。
一切面向对象的其他特征都是在此基础上开展而来的。比如封装,继承,多态,消息传递。

Ps:为什么要在类后面加一对大括号呢?因为类他是有范围的,并且是无限扩大的,所以在程序中,我们用一对大括号来
描述类的范围,同时,这也是Java编程语言的规范。

3:类在Java中被描述的淋漓尽致!

万物皆对象,这话忒出名了,万物都是一个个的对象,我们通过他们的相关性用类来加以区分并描述。
与其说写Java程序,不如说是在创建对象,对象与对象之间的会话,就是我们要写的程序。
对象与对象之间的会话,就是类与类之间关系的描述。

再谈编程,这是在干什么?
用最具体的话来描述Java编程,就是编一些指令程序,让CPU去执行。
用最抽象的话来描述Java编程,就是在虚拟世界。

可见,现在具体的将不再具体,未被抽象的那就是现在。我们一直在创造。
非官方,不权威。仅仅是个人理解,大家多多交流,对象与对象之间不交流,那只有等着被回收了。

原创文章,转载请注明出处: http://blog.csdn.net/thinging_in_android

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/04/14/3020005.html

浅谈Java中的数据类型以及面向对象相关推荐

  1. 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  2. scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别

    这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都 ...

  3. 浅谈Java中的栈和堆

    人们常说堆栈堆栈,堆和栈是内存中两处不一样的地方,什么样的数据存在栈,又是什么样的数据存在堆中? 这里浅谈Java中的栈和堆 首先,将结论写在前面,后面再用例子加以验证. Java的栈中存储以下类型数 ...

  4. java null什么意思_浅谈java中null是什么,以及使用中要注意的事项

    1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...

  5. 浅谈java中的多态

    浅谈java中的多态 学习了java一年的时间,这里对java的多态进行了一个总结,如有错误希望可以指出, 首先java的多态分为编译时的多态和运行时的多态,其中编译时的多态就是方法的重载(前期绑定) ...

  6. java 中的单元测试_浅谈Java 中的单元测试

    单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...

  7. java中修饰常量的事_浅谈java中的声明常量为什么要用static修饰

    今天定义一个类常量,想着也只有这个类可以用到,就没用static关键字修饰.结果sonar代码检查提示: Rename this field "PERSON_TYPE_USER" ...

  8. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  9. file相对路径java_浅谈java 中文件的读取File、以及相对路径的问题

    一.对于java项目中文件的读取 1.使用system 或是 系统的properties对象 ①直接是使用 string relativelypath=system.getproperty(" ...

最新文章

  1. [每日短篇] 17 - 正确使用随机数 Random
  2. python判断字符串是否是数字字母
  3. 基于SSM实现个人博客系统
  4. Python数据类型与运算符号
  5. Facebook告诉我们如何构建网站
  6. JS--对象的特性之一---继承性
  7. Luyten 启动报错 This Application requires a Java Runtime Environment 1.7.0-1.8.0问题
  8. ubuntu安装rubyOnRails
  9. springboot集成kettle9
  10. C语言编程>第十六周 ① 给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
  11. 迭代局部搜索算法(Iterated local search)
  12. App推广:ASO策略篇,清榜频发,优化热情不减
  13. C:1134字符串转换
  14. mysql中高阶玩法系列(七)
  15. IMS:开发者选项Touch点显示
  16. 〖Python 数据库开发实战 - MySQL篇㉑〗- 数据表的外连接
  17. 不容错过的ES6知识点(一):变量、函数、扩展操作符、解构赋值
  18. 数字化时代,RPA将终结BPO?
  19. 李宏毅DLHLP.09.Voice Conversion.1/2. Feature Disentangle
  20. USS-INT指令详解

热门文章

  1. 牛客练习赛36 F-Rabbit的蛋糕 (叉积求面积, 记录前缀)
  2. STL 容器迭代器失效总结
  3. 移除链表元素--虚拟头结点
  4. Tensorflow详解保存模型(进阶版一):如何有选择的保存变量
  5. 常见排序算法(C实现)
  6. Linux 文件属性和权限详解
  7. 排序算法——希尔排序(缩小增量排序)
  8. 关于数据库与LoaderManager的联合使用,节流???。。。。。
  9. Spring如何加载XSD文件
  10. hibernate实体的几种状态