230 likes | 357 Views
第二章 JAVA 对象及语言初步. JAVA 对象 JAVA 语言初步 基本数据类型 关键字 标志符. 对象和抽象. 计算机语言的抽象问题 Alan Kay 的总结: 万物都是对象; 程序是对象的集合,它们通过消息来联系; 每个对象是由其他对象共同组成; 每个对象都有其类型; 同类的对象可以接受相同的消息。. 对象接口. 对象接口是由类决定的,与其他对象交换数据和传递消息的渠道。 如:. 灯泡. 亮度 开 关 修理. 对象是服务者. 服务者,服务器,都是一种函数,输入参数,反馈结果:
E N D
第二章 JAVA对象及语言初步 • JAVA对象 • JAVA 语言初步 • 基本数据类型 • 关键字 • 标志符
对象和抽象 • 计算机语言的抽象问题 • Alan Kay 的总结: • 万物都是对象; • 程序是对象的集合,它们通过消息来联系; • 每个对象是由其他对象共同组成; • 每个对象都有其类型; • 同类的对象可以接受相同的消息。
对象接口 • 对象接口是由类决定的,与其他对象交换数据和传递消息的渠道。 如: 灯泡 亮度 开 关 修理
对象是服务者 • 服务者,服务器,都是一种函数,输入参数,反馈结果: • 把若干提供服务的对象集合起来就可以构造更为强大的服务; • 把一个功能分解为若干服务,和利用已有服务构造新服务,就是软件开发的两种思路。
对象实现的隐藏 • 不需要了解对象的具体实现; • 不需要介入对象的具体实现; • 只关心对象提供的服务; • 以上归纳为对象的封装。
继承和复用 • 新的对象类型和旧的对象类型的关系: • 是一个更具体的类型,比如哺乳动物和脊椎动物的关系; • 拥有旧对象类型的特性; • 只需要针对新的属性和方法来描述对象; • is-a 和is-like-a 的讨论:完全覆盖基类的特性,和集成基类部分属性的差别。
相关的其他一些问题 • JAVA 的并发性: • 对象并发相对比较简单; • 共享资源的控制; • 并发程序设计的应用和优点。 • JAVA 的对象管理机制: • 自动清理; • 异常处理。
一切都是对象 • 在JAVA 中的任何元素,包括程序本身都是对象 • 引用操作对象 String s;//JAVA 中并非建立一个对象,而仅仅是有了对String 类一个对象的引用 这种情况下,必须初始化它: s =new String (“abcd”);
标识符 风格约定: _,$不作为变量名,方法名开头 变量名、方法名首单词小写,其余单词只有 首字母大写 如anyVariableWorld 接口名、类名首单词第一个字母大写。 常量:完全大写 注释:// 注释一行 /* */ 注释一行或多行 /** 可用javadoc命令转化为HTML文件*/
基本数据类型-浮点型 浮点型:float 和 double 长度: float : 32位 double: 64位 缺省是 double 类型,如3.14 (double 型) 表达方法: E或e - 科学记数法 6.02e23 F或f - 表示float类型, 6.02e23F D或d - 表示double 型, 2.718D
数据类型和对象 • 基本数据类型也是对象: • 逻辑型 • 文字型 • 整数类型 • 浮点型
逻辑类型 • 逻辑型:boolean, 取值:true , false 例如:boolean truth = true; • 二值存储,不过也占用一个字节空间。
文本类型 • 文字型:char 、String • char 字符类型: 16位的unicode(国际码)字符。 如,char mychar=‘Q’; unicode字符集是一套字符编码系统,可以支持各类文字的字符,达34168个字符。定义形式:‘a’; ‘\t’; ’\u????’ String 是char 的集合。
基本数据类型-整数类型 • 整数类型: 类型 长度 取值范围 byte 8位 -27 ~27-1 short 16位 -215 ~215-1 int 32位 -231 ~231-1 long 64位 -263 ~263-1
整型常量 Java中缺省整型是 int 可有3种形式:十进制、八进制、十六进制 十进制 八进制 十六进制 int 24 0771 0XAB07 long 24L 0771L 0XAB07L
标识符 标识符包括: 变量名,类名,方法(函数)名 以字母,_,或$开头 大小写敏感,且长度没有限定 如: username user_name _sys_varl $change
关键字 * 当前不使用 ** 为Java 2 增加的
类的初步概念 “日期”类型的两种不同表达: 方式一: int day, month, year; //定义年、月、日 int d1,m1,y1; // 定义一个日期 int d2,m2,y2; //定义另一个日期 方式二:class Date{ int day; int month; int year; void setDate( int a, int b, int c){... } } Date a; a=new Date(); a.day=30;a.month=9; a.year=2001;
类的初步概念 两种方式相比,第一种方式的缺陷: 声明的变量多。 忽略了一个日期的年、月、日之间的联系,把它 们孤立起来。 Java采用第二种方式,用class创建新的类型。
类的变量的声明与引用 在Java中,一个类声明后,不能直接引用,必须经过实例化: 基本类型声明后,直接开空间。 如: int a; a = 12; 非基本类型不直接开空间,而是开辟引用空间,数据空间 没有开。只有通过实例化,才能给数据开辟空间。
0xabcd 0xabcd day 0 month 0 year 0 类的变量的声明与引用 例: 1 Date today; 2 today = new Date( ); Today
0xabcd a 0xabcd day 0 month 0 0xabcd b 0 year 引用变量之间的赋值 1 Date a, b ; 2 a=new Date( ); 3 b = a ;
推荐阅读的一些资料 • UML 描述及建模; • VISIO 使用及UML 图绘制;