注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关JAVA语言规范

JAVA语言规范

JAVA语言规范

定 价:¥80.00

作 者: (美)James Gosling,(美)Bill Joy,(美)Guy Steele著;蒋国新,朱暄,李洪伟译
出版社: 北京大学出版社
丛编项: 正宗Java丛书
标 签: JAVA语言

ISBN: 9787301034736 出版时间: 1997-12-01 包装:
开本: 26cm 页数: 574页 字数:  

内容简介

  本书由Java发明人亲自撰写,侧重于Java技术细节和内幕,提供了对整个语言及其语法的全面、准确、详尽的描述,使读者了解Java结构的精确含义。书中讲述了Java语言全部的语法和语义;描述了Java编译器所要检查的语法的各个方面,包括各种类型、语言和表达式的含义;还描述了Java运行模式的各个方面,包括异常、线程和二进制兼容性。本书适用于从初学者到专业化程序员等各类读者。

作者简介

暂缺《JAVA语言规范》作者简介

图书目录

丛书前言

第一章  引言
1.1  程序例子
1.2  参考文献
第二章  语法
2.1  上下文无关语法
2.2  词法
2.3  语法
2.4  语法符号约定
第三章  词法结构、
3.1  Unicode
3.2  词法变换
3.3  Unicode转义序列
3.4  行终结符
3.5  输入元素和单词符号
3.6  空格
3.7  注释
3.8  标识符
3.9  关键字
3.10  文字量
3.10.1  整型文字量
3.10.2  浮点文字量
3.10.3  布尔文字量
3.10.4  字符文字量
3.10.5  字符串文字量
3.10.6  字符和字符串文字量的转义序列
3.10.7  NULL文字量
3.11 分隔符
3.12  运算符
第四章 类型、值和变量
4.1  类型和值的种类
4.2  基本类型和值
4.2.1  整数类型和值
4.2.2  整数运算
4.2.3  浮点类型和值
4.2.4  浮点运算
4.2.5  布尔类型和布尔值
4.3  引用类型和值
4.3.1  对象
4.3.2  类Object
4.3.3  类String
4.3.4  何谓引用类型相同
4.4  类型在何处使用
4.5  变量
4.5.1  基本类型变量
4.5.2  引用类型变量
4.5.3  变量分类
4.5.4  变量的初始值
4.5.5  变量具有类型、对象具有类
第五章  转换和提升
5.1  转换的种类
5.1.1  恒等转换
5.1.2  基本类型增宽转换
5.1.3  基本类型收缩转换
5.1.4  引用类型收缩转换
5.1.5  引用类型收缩转换
5.1.6  字符串转换
5.1.7  禁止的转换
5.2  赋值转换
5.3  方法调用转换
5.4  字符串转换
5.5  强制转换
5.6  数值提升
5.6.1  单元数值提升
5.6.2  二元数值提升
第六章  名字
6.1  声明
6.2  名字和标识符
6.3  简单名字的作用域
6.3.1  名字隐藏
6.4  成员和继承
6.4.1  包的成员
6.4.2  类类型的成员
6.4.3  接口类型的成员
6.4.4  数组类型的成员
6.5  决定名字的意义
6.5.1  根据上下文对名字进行句法分类
6.5.2  上下文歧义名的再分类
6.5.3  包名的意义
6.5.3.1  简单包名
6.5.3.2  类属修饰包名
6.5.4  类型名的意义
6.5.4.1  简单类型名
6.5.4.2  类属修饰类型名
6.5.5  表达式名的意义
6.5.5.1  简单表达式名
6.5.5.2  类属修饰表达式名
6.5.6  方法名的意义
6.5.6.1  简单方法名
6.5.6.2  类属修饰方法名
6.6  类属修饰名和存取控制
6.6.1  决定可存取性
6.6.2  protected存取细节
6.6.3  存取控制例子
6.6.4  例子“对public和非public类的存取
6.6.5  例:域、方法和构造函数的缺省存取权限
6.6.6  例:public域、方法和构造函数
6.6.7  例:protected域、方法和构造函数
6.6.8  例:private域、方法和构造函数
6.7  完全类属修饰名
6.8  命名约定
6.8.1  包名
6.8.2  类和接口类型的名字
6.8.3  方法名
6.8.4  域名
6.8.5  常量名
6.8.6  局部变量和参数名
第七章  包
7.1  包的成员
7.2  主机系统对包的支持
7.2.1  在文件系统中存储包
7.2.2  在数据库中存储包
7.3  编译单元
7.4  包声明
7.4.1  有名包
7.4.2  无名包
7.4.3  包名的作用域和包名隐藏
7.4.4  对包的成员的存取
7.5  移入声明
7.5.1  单一类型移入声明
7.5.2  按需类型移入
7.5.3  自动移入
7.5.4  一个奇特的例子
7.6  类型声明
7.7  无重复包名
第八章  类
8.1  类声明
8.1.1  类类型名字的作用域
8.1.2  类修饰符
8.1.2.1  abstract类
8.1.2.2  final(终结)类
8.1.3  超类和子类
8.1.4  超接口
8.1.5  类体和成员声明
8.2  类成员
8.2.1  继承的例子
8.2.1.1  例:缺省存取权限的继承
8.2.1.2  public和protected成员的继承
8.2.1.3  private成员的继承
8.2.1.4  存取不可访问类的成员
8.3 域声明
8.3.1 域修饰符
8.3.1.1  static域
8.3.1.2  final域
8.3.1.3  transient域
8.3.1.4 volatile域
8.3.2  域的初始化
8.3.2.1  类变量初始化
8.3.2.2  实例变量的初始化
8.3.3  域声明例子
8.3.3.1  例:类变量隐藏
8.3.3.2  例;实例变量隐藏
8.3.3.3  例:多个同名域的继承
8.3.3.4  例:域的重继承
8.4  方法声明
8.4.1  形参
8.4.2  方法的“识别标记”
8.4.3  方法修饰符
8.4.3.1  abstract方法
8.4.3.2  static方法
8.4.3.3  fimal方法
8.4.3.4  native方法
8.4.3.5 synchronized方法
8.4.4  方法的抛出子句
8.4.5  方法体
8.4.6  继承、重构和隐藏
8.4.6.1  重构(通过实例方法)
8.4.6.2  隐藏(通过类方法)
8.4.6.3  对重构和隐藏的要求
8.4.6.4  继承多个具有相同“识别标记”的方法
8.4.7  重载
8.4.8  方法声明的例子
8.4.8.1  例:重构
8.4..8.2  例:重载、重构和隐藏
8.4.8.3  例:不正确的重构
8.4.8.4  例:重构和隐藏
8.4.8.5  例:对被隐藏的类方法的调用
8.4.8.6  大型的重构例子
8.4.8.7  例:Throws引起的不正确的重构
8.5  静态初始化
8.6  构造函数声明
8.6.1  形参
8.6.2  构造函数的“识别标记”
8.6.3  构造函数修饰符
8.6.4  构造函数的抛出子句
8.6.5  构造函数体
8.6.6  构造函数重载
8.6.7  缺省构造函数
8.6.8  禁止类的实例化
第九章  接口
9.1  接口声明
9.1.1  接口类型名字的作用域
8.1.2  接口修饰符
9.1.2.1  abstract接口
9.1.3  超接口
9.1.4  接口体和成员声明
9.1.5  对接口成员名字的存取
9.2  接口成员
9.3  域(常量)声明
9.3.1  接口中的域初始化
9.3.2  域声明例
9.3.2.1  继承产生的二义性域
9.3.2.2  域的多无继承
9.4  abstract方法声明
9.4.1  继承和重构
9.4.2  重载
9.4.3  Abstract方法声明示例
9.4.3.1  例:重构
9.4.3.2  例:重载
第十章  数组
10.1  数组类型
10.2  数组变量
10.3  数组创建
10.4  数组存取
10.5  数组:一个简单例子
10.6  数组初始化
10.7  数组成员
10.8  数组的class对象
10.9  字符数组不是字符串
10.10  数组存储异常
第十一章  异常
11.1  异常的起因
11.2  异常的编译时刻检查
11.2.1  为什么Errors不是“检查型”异常
11.2.2  为什么运行时刻异常不是“检查型”异常
11.3  对异常的处理
11.3.1  异常是确定的
11.3.2  处理异步异常
11.4  异常例子
11.5  异常层次结构
11.5.1  类Exception和RuntimeException
11.5.1.1  标准运行时刻异常
11.5.1.2  标准“检查型”异常
11.5.2  Error类
11.5.2.1  装载和链接错误
11.5.2.2  虚拟机错误
第十二章  执行
12.1  虚拟机启动
12.1.1  加载类Test
12.1.2  链接Test:验证、准备和(可选的)解析
12.1.3  初始化Test“执行初始化过程
12.1.4  调用Test.main
12.2  类和接口的加载
12.2.1  加载过程
12.2.2  加载:对代码生成的建议
12.3  类和接口的链接
12.3.1  二进制表示的验证
12.3.2  类或接口类型的准备
12.3.3  符号引用解析
12.3.4  链接:对代码生成的建议
12.4  类和接口的初始化
12.4.1  何时进行初始化
12.4.2  初学者始化过程的细节
12.4.3  初始化:对代码生成的建议
12.5  新类实例的创建
12.6  类实例的终止
12.6.1  实现终止化
12.6.2  finalizer调用是无序的
12.7  类的初始化
12.8  类和接口的卸载
12.9  虚拟机退出
第十三章  二进制代码兼容
13.1 Java二进制代码的格式
13.2  什么是二进制兼容
13.3  包的演化
13.4  类的演化
13.4.1  abstract类
13.4.2  final类
13.4.3  public类
13.4.4  超类和超接口
13.4.5  类体的成员声明
13.4.6  对成员和构造函数的存取
13.4.7  域声明
13.4.8  final域
13.4.9  static域
13.4.10  transient域
13.4.11 volatile域
13.4.12  方法和构造函数声明
13.4.13  方法和构造函数参数
13.4.14  方法的结果类型
13.4.15  abstract方法
13.4.16  final方法
13.4.17  native方法
13.4.18  static方法
13.4.19  synchronized方法
13.4.20  方法和构造函数的抛出
13.4.21  方法和构造函数体
13.4.22  方法和构造函数重载
13.4.23  方法重构
13.4.24  静态初始化
13.5  接口的演变
13.5.1  public接口
13.5.2  超接口
13.5.3  接口成员
13.5.4  域声明
13.5.5  abstract方法声明
第十四章  块和语句
14.1  语句的正常结束和非正常结束
14.2  块
14.3  局部变量声明语句
14.3.1  局部变量声明符和类型
14.3.2  局部变量声明的作用域
14.3.3  局部变量的命名隐藏
14.3.4  局部变量声明符的执行
14.4  语句
14.5  空语句
14.6  标号语句
14.7  表达式语句
14.8  if语句
14.8.1  if-then语句
14.8.2  if-then-else语句
14.9  switch语句
14.10  while语句
14.10.1  while语句的非正常结束
14.11  do语句
14.11.1  do语句的非正常结束
14.11.2  do语句示例
14.12  for语句
14.12.1  fjor语句的初始化
14.12.2  for语句的迭代
14.12.3  for语句的异常处理
14.13  break语句
14.14  continue语句
14.15  return语句
14.16  throw语句
14.17  synchronized语句
14.18  try语句
14.18.1  try-catch的执行
14.18.2  try-catch-finally的执行
14.19  不可达语句
第十五章  表达式
15.1  求值,表示和结果
15.2  值变量
15.3  表达式的类型
15.4  表达式和运行时刻检查
15.5  求值的正常结束和非正常结束
15.6  求值顺序
15.6.1  首选求值左操作数
15.6.2  在执行操作之前给操作数求值
15.6.3  求值遵照括号和运算符优先级
15.6.4  参数表达式的求值顺序
15.6.5  其它表达式的求值顺序
15.7  基本表达式
15.7.1  文字量
15.7.2  this
15.7.3  初括号括起来的表达式
15.8  类实例创建表达式
15.8.1  类实例创建表达式的运行时刻求值
15.8.2  例子:求值顺序和内存不够检查
15.9  数组创建表达式
15.9.1  数组创建表达式的运行时刻求值
15.9.2  例子:数组创建的求值顺序
15.9.3  例子:数组创建和内存不足检查
15.10  域存取表达式
15.10.1  使用基本表达式进行域存取
15.10.2  使用Super存取超类成员
15.11  方法调用表达式
15.11.1  编译时步骤1:决定特查找的类或接口
15.11.2  编译时步骤2:决定方法的调用
15.11.2.1  寻找适用的可存取的方法
15.11.2.2  选择最明确的方法
15.11.2.3  例子:重载不确定性
15.11.2.4  例子:不考虑返回类型
15.11.2.5  例子:编译时确定方法调用
15.11.3  编译时步骤3:选择的方法合适吗?
15.11.4  方法调用的运行时刻求值
15.11.4.1  计算目标引用(如果必要)
15.11.4.2  自变量求值
15.11.4.3  检测类型和方法的可存取性
15.11.4.4  确定要调用的方法
15.11.4.5  建立框架,同步,控制转移
15.11.4.6  实现时注意:组合框架
15.11.4.7  例子:目标引用的静态方法
15.11.4.8  例子:求值顺序
15.11.4.9  例子:重构
15.11.4.10  例子:使用super的方法调用
15.12  数组访问表达式
15.12.1  数组访问的运行时刻求值
15.12.2  例子:数组求值顺序
15.13  后缀表达式
15.13.1  名字
15.13.2  后缀增量算符++
15.13.3  后缀减量算符--
15.14  一元运算符
15.14.1  前缀增量运算符++
15.14.2  前缀减量运算符--
15.14.3  一元加法运算符++
15.14.4  一元减法运算符--
15.14.5  按位求反运算符~
15.14.6  逻辑求反运算符!
15.15  类型强制转换表达式
15.16  乘性运算符
15.16.1  乘法运算符*
15.16.2  除法运算符/
15.16.3  取余运算符%
15.17  加性运算符
15.17.1  字符串连接运算符+
15.17.1.1  字符转换
15.17.1.2  字符串连接的优化
15.17.1.3  字符连接的例子
15.17.2  数值类型的加性能运算符(+和-)
15.18  移位运算符
15.19  关系运算符
15.19.1  数值比较运算<,<=,>和>=
15.19.2  类型比较运算符instanceof
15.20  等于运算符
15.20.1  数值等于运算符= =和!=
15.20.2  布尔等于运算符= =和!=
15.20.3  引用等于运算符= =和!=
15.21  位运算符和逻辑运算符
15.21.1  整数按位与运算&.^和|
15.21.2  布尔逻辑运算符&,^ 和|
15.22  条件与运算符&&
15.23  条件与运算符||
15.24  条件运算符?:
15.25  赋值运算符
15.25.1  简单赋值运算符
15.25.2  复合赋值运算符
15.26  表达式
15.27  常量表达式
第十六章  明确赋值
16.1  明确赋值和表达式
16.1.1  布尔常量表达式
16.1.2  布尔值表达式
16.1.3  布尔运算符&&
16.1.4  布尔运算符||
16.1.5  布尔运算符!
16.1.6  布尔运算符&
16.1.7  布尔运算符|
16.1.8  布尔运算符^
16.1.9  布尔运算符= =
16.1.10  布尔运算符!=
16.1.11  布尔运算符?:
16.1.12  布尔运算?:
16.1.13  布尔赋值运算表达式
16.1.14  其它赋值运算表达式
16.1.15  运算符++和--
16.1.16  其它表达式
16.2  明确赋值和语句
16.2.1  空语句
16.2.2  块
16.2.3  局部变量声明语句
16.2.4  标号语句
16.2.5  表达式语句
16.2.6  if语句
16.2.7  switch语句
16.2.8  while语句
16.2.9  do语句
16.2.10  for语句
16.2.10.1  初始化部分
16.2.10.2  增量部分
16.2.11  break,continue,return和throw语句
16.2.12  synchronized语句
16.2.13  try语句
第十七章  线程和锁定
17.1  术语和框架
17.2  执行次序
17.3  变量的规则
17.4  double和long类型变量的非原子处理
17.5  锁定的规则
17.6  锁定和变量间相互作用的规则
17.7  volatile类型变量的规则
17.8  楞预见的store动作
17.9  讨论
17.10  例子:可能的交换
17.11  例子:无序的write动作
17.12  线程
17.13  锁定和同步
17.14  等待集合和通知 
第十八章  文档注释
18.1  文档注释的文本
18.2  文档注释中的HTML
18.3  概括性语句的普通描述
18.4  标记段落
18.4.1  @see标记
18.4.2  @author标记
18.4.3  @version标记
18.4.4  @param标记
18.4.5  @return标记
18.4.6 @exception标记
18.5  例子
第十九章  LALR(1)
19.1 文法难点
19.1.1  问题#1:名字太细化
19.1.2  问题#2:修饰语太细化
19.1.3  问题#3:域声明和方法声明
19.1.4  问题#4:数组类型和数组存取
19.1.5  问题#5:强制转化和特号表达式
19.2  对应于2.3的语法的产生式
19.3  对应于第三章的词法结构的产生式
19.4  对应于第四章的类型、值、变量的产生式
19.5  对应于第六章的名字的产生式
19.6  对应于第七章的包的产生式
19.7  LALR(1)文法定义独有的产生式
19.8  对应于第八章的类的产生式
19.8.1  对应于8.1的类声明的产生式
19.8.2  对应于8.3的域声明的产生式
19.8.3  对应于8.4的方法声明的产生式
19.8.4  对应于8.5的静态初始化的产生式
19.8.5  对应于8.6的构造函数声明的产生式
19.9  对应于第九章的接口的产生式
19.9.1  对应于9.1的接口声明的产生式
19.10  对应于第十章的数组的产生方式
19.11  对应于第十四章的块和语句的产生式
19.12  对应于第十五章的表达式的产生式
第二十章  Java.lang包
20.1  Java.lang.Object类
20.2  Java.lang.Cloneable类
20.3  Java.lang.Class类
20.4  Java.lang.Bollean类
20.5  Java.lang.Character类
20.6  Java.lang.Number类
20.7  Java.lang.Integer类
20.8  Java.lang.Long类
20.9  Java.lang.Float
20.10  Java.lang.Double类
20.11  Java.lang.Math类
20.12  Java.lang.String类
20.13  Java.lang.StringBuffer类
20.14  Java.lang.ClassLoader类
20.15  Java.lang.Process类
20.16  Java.lang.Runtime类
20.17  Java.lang.SecurityManager类
20.18  Java.lang.System类
20.19  Java.lang.Runnable接口
20.20  Java.lang.Thread类
20.21  Java.lang.ThreadGroukp类
20.22  Java.lang.Throwable类以及它的子类
20.23  Java.lang.ExceptionInInitializerError类
第二十一章  Java.util包
21.1  Java.util.Enumeration接口
21.2  Java.util.BitSet类
21.3  Java.util.Date类
21.4  Java.util.Dictionary类
21.5  Java.util.Hashtable类
21.6  Java.util.Properties类
21.7  Java.util.Observable类
21.8  Java.util.Observer接口
21.9  Java.util.Random类
21.10  Java.util.String Tokenizer类
21.11  Java.util.Vector类
21.12  Java.util.Stack类
21.13  Java.util.EmptyStackException类
21.14  Java.util.NoSuchElementException类
第二十二章  Java.io包
22.1  Java.io.DataInput接口
22.2  Java.io.DataOutput接口
22.3  Java.io.InputStream类
22.4  Java.io.FileInputStream类
22.5  Java.io.PipedInputStream类
22.6  Java.io.ByteArrayInputStream类
22.7  Java.io.StringBufferInputStream类
22.8  Java.io.SequenceInputStream类
22.9  Java.io.FilterInutStream类
22.10  Java.io.BufferedInputStream类
22.11  Java.io.DataInputStream类
22.12  Java.io.LineNumberInputStream类
22.13  Java.io.PushbackInputStream类
22.14  Java.io.StreamTokenizer类
22.15  Java.ioOutputStream类.
22.16  Java.ioFileOutputStream类.
22.17  Java.io.PipedOutputStream类
22.18  Java.io.ByteArrayOutputStream类
22.19  Java.io.FilterOutputStream类
22.20  Java.io.BufferedOutputStream类
22.21  Java.io.DataOutputStream类
22.22  Java.io.PrintStream类
22.23  Java.io.RandomAccessFile类
22.24  Java.io.File类
22.25  Java.io.FilenameFilter接口
22.26  Java.io.FileDescriptor类
22.27  Java.io.IOException类
22.28  Java.io.EOFException类
22.29  Java.io.FileNotFoundException类
22.30  Java.io.InterruptedIOException类
22.31  Java.io.UTFDataFormatException类

本目录推荐