第一章 对象导论
其实这章介绍的是oop的思想,知道什么是抽象、接口、继承等等,参见abstract and interface和extends。
第二章 万事万物皆对象
在java程序中,万事万物皆对象,即使是java程序本身,也是一个对象
一、Reference是操纵对象之钥匙
c语言中是使用指针来操纵对象的,但是java呢?用的是reference来操纵对象,我习惯把他叫做句柄,句柄和对象的关系就想是电视遥控器和电视机的关系一样,既然是这样,那么遥控器和电视机都是可以独立出现的
例如:String name;
这个java语句只会产生句饼(遥控器),并不产生实际的对象(电视机),就想你老婆还没生孩子之前你们就把名字给取好了一样,句柄并没有连接到实际的对象上。这个样子写代码是不推荐的,一个没有指向对象的句柄在调用的时候编译器会抱错,应当使用String name="baby";,或者使用String name =new String("baby");这里new的意思是产生一个string类型的对象,并且这个string叫做baby。这2个方法都可以实现对象的建立。
二、所有的对象都需要你来建立
1、储存在那里
a、寄存器 这里是核心的存储空间,我们是没办法操纵的
b、栈 (stack )这里的存取速度快,效率高,因为这里要求被存储的数据有具体大小和存活时间限制,使用弹性小,这里一般存储的是我们的对象句柄,而对象是不存在这里的
c、堆 (heap) 这里是通用的存储空间,他比stack好在编译器不需要知道实际在heap中存储数据的大小,也不知道这个空间需要分配多长时间,弹性好,所以用来存储对象,但是速度要比stack慢很多
d、静态存储空间(static storage)这里是存放被声明为static的特定成员,java对象本身是不会分配在这里的
e、常量储存空间 这里存放的是程序中的常量,常量值不会改变,最安全
f、non-ram 流或者是持久话对象
2、基本数据类型
boolean char byte short int long float double void 基本数据类型的数据是不用new 来创建的,直接int i=0,不使用heap空间,他是被放在stack中的,速度快!但是假如你要是想用heap来存储基本数据类型的话,就要使用该类型的外覆类来实现了 例如Integer i= new Integer("0");
注意!String不是基本数据类型,她是对象!从他的定义方法就可以知道了!
3、数组(array)
java中的数组使用和定义上要比c中的数组更安全,当你在定义数组的时候其实产生的是一个储存对象句柄的数组,而每一个句柄所指向的值回被设定为null,也就是不指向任何对象
4、高精度计算(BigDecimal)
提供任意精度的浮点数计算,可以用它来进行要求精度极高的货币兑换的计算。
三、代码规范
1、组成类名的每个单词的首字母需要大写,如:public class PlayGame{ }
2、组成方法的单词除首字母不大写外,其他的单词需大写,如:int allOfColors(){ }
void changeColors(){ }
分享到:
相关推荐
在本讲中,我们将深入探讨面向对象的思想、规范以及统一建模语言(UML)的基础。 首先,功能分解是传统软件开发中处理复杂问题的方法,它通过将大问题分解为小步骤,然后逐个实现这些步骤。然而,这种方式可能导致...
php面向对象编程
数据库规范是 BOS 二次开发中的一个重要部分,主要包括数据库对象规范、数据库命名规范等。根据规范,数据库对象的命名格式为 {ISV 标识符}_T_{名称},例如 KDV_T_USER。字段命名格式为 [F_]{ISV 标识符}_{名称},...
计时对象规范的实现。 这是的独立实现。 它带有一组广泛的测试。 它用 TypeScript 编写并公开其类型,但这完全是可选的。 安装 这个包在上可用。 只需运行以下命令即可安装它: npm install timing-object ...
2. **面向对象**:CIP协议基于面向对象的模型,设备和服务都被定义为不同的对象,每个对象都有自己的属性、方法和事件,便于设备间的通信和信息交换。 3. **双向通信**:CIP支持实时双向通信,可以同时处理输入和...
以下是一些关于大公司PHP面向对象编程规范的关键知识点: 1. **命名规范**:类名应使用驼峰式命名,首字母大写,如`MyClassName`。接口名与类名相同,但以`Interface`后缀结尾,如`MyClassNameInterface`。常量全...
七、应用领域和使用对象规范 * 应用领域应明确、易懂,包括产品的使用场景和目标用户。 * 使用对象应明确、易懂,包括产品的使用对象和目标用户。 八、功能和特性简介规范 * 功能和特性简介应清晰、简洁,包括...
本资料“基于java模式下的编程要诀 代码规范 面向对象”深入浅出地阐述了如何在Java环境中遵循最佳实践进行编程。面向对象编程强调类的封装、继承和多态性,这三大特性是理解OOP的关键。 1. **面向对象编程基础** ...
目的是明确该规范的标准性和通用性,对象通常是软件开发团队和相关人员,要求是指遵循的开发原则和标准,适用范围则规定了这套规范在哪些类型的项目中可以应用。 1.1 目的 制定软件开发过程规范的目的在于提高软件...
本文档描述了数据库设计规则、数据库对象命名规范,SQL语句规则,软件开发项目中的必备文档,免得每次都要自己重新写
面向对象的软件系统建模规范,是指导软件开发过程中如何运用面向对象方法进行系统建模的重要标准。SJT 11290-2003是中国的一个行业标准,它为面向对象的软件开发提供了系统化的建模规则,旨在提高软件开发的质量、...
SJ/T 11290—2003 面向对象的软件系统建模规范 第1部分 概念与表示法.pdf
面向对象课程编码规范是软件开发过程中非常重要的一个环节,它为程序员提供了统一的代码编写标准,确保了代码的可读性、可维护性和团队协作效率。以下是对标题和描述所涉及知识点的详细说明: 1. **面向对象编程...
norm.js 一小部分用于数组和对象归一化,标准化和简单统计的方法。用法$ npm install norm.js要在Node.js中使用norm.js,只需执行以下操作: var n = require ( "norm.js" ) ; 包含一个经过浏览器dist/norm.min.js...
本报告研究工作属于科技部科技基础条件平台工作重大项目《数字图书馆标准与规范建设》的一部分,得到科技部科技基础条件平台专项资金资助,项目编号为2003DEA4T035。按照有关规定,国家和《我国数字图书馆标准规范...
对象规范化是指将对象转换为统一的表示形式,以便在不同的系统和语言之间共享。 总的来说,这篇翻译涉及了Java软件开发中的核心问题,包括对象持久化、数据存储策略、查询语言选择以及语言独立性等。对于学习Java...
统一字体对象(UFO)是用于存储字体数据的跨平台,跨应用程序,人类可读的,面向未来的格式。 不明飞行物设计理念 数据必须是人类可读和可编辑的。 数据应独立于应用程序。 除非绝对必要,否则应避免重复数据。 在...
这是一个.net编码规范说明 ,里面含有类,对象,属性,方法等.net的命名规范