JAVA中的关键字和保留字_第1页
JAVA中的关键字和保留字_第2页
JAVA中的关键字和保留字_第3页
JAVA中的关键字和保留字_第4页
JAVA中的关键字和保留字_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java 中的中的 50 个关键字和关键字的意思个关键字和关键字的意思 Abstract 抽象的 一个 Java 语言中的关键字 用在类的声明中来指明一个类是不能被实例化的 但是可以被其它类继承 一个抽象类可以使用抽象方法 抽象方法不需要实现 但是需要在子类中被实现 break 一个 Java 的关键字 用来改变程序执行流程 立刻从当前语句的下一句开始执 行从 如果后面跟有一个标签 则从标签对应的地方开始执行 case Java 语言的关键字 用来定义一组分支选择 如果某个值和 switch 中给出的值 一样 就会从该分支开始执行 catch Java 的一个关键字 用来声明当 try 语句块中发生运行时错误或非运行时异常 时运行的一个块 char Java 语言的一个关键字 用来定义一个字符类型 continue 一个 Java 的关键字 用来打断当前循环过程 从当前循环的最后重新开始执行 如果后面跟有一个标签 则从标签对应的地方开始执行 do 一个 Java 语言的关键字 用来声明一个循环 这个循环的结束条件可以通过 while 关键字设置 double 一个 Java 语言的关键字 用来定义一个 double 类型的变量 else 一个 Java 语言的关键字 如果 if 语句的条件不满足就会执行该语句 final 一个 Java 语言的关键字 你只能定义一个实体一次 以后不能改变它或继承它 更严格的讲 一个 final 修饰的类不能被子类化 一个 final 修饰的方法不能被 重写 一个 final 修饰的变量不能改变其初始值 finally 一个 Java 语言的关键字 用来执行一段代码不管在前面定义的 try 语句中是否 有异常或运行时错误发生 float 一个 Java 语言的关键字 用来定义一个浮点数变量 for 一个 Java 语言的关键字 用来声明一个循环 程序员可以指定要循环的语句 推出条件和初始化变量 if Java 编程语言的一个关键字 用来生成一个条件测试 如果条件为真 就执行 if 下的语句 implements Java TM java 虚拟机 编程语言的一个关键字 在类的声明中是可选的 用 来指明当前类实现的接口 import Java TM 编程语言的一个关键字 在源文件的开始部分指明后面将要引用的一 个类或整个包 这样就不必在使用的时候加上包的名字 instanceof 一个二操作数的 Java TM 语言关键字 用来测试第一个参数的运行时类型是否 和第二个参数兼容 int Java TM 的一个关键字 用来定义一个整形变量 Java TM 的一个关键字 用来定义一系列的方法和常量 它可以被类实现 通 过 implements 关键字 long Java 语言的一个关键字 用来定义一个 long 类型的变量 private Java 语言的一个关键字 用在方法或变量的声中 它表示这个方法或变量只能 被这个类的其它元素所访问 protected Java 语言的一个关键字 在方法和变量的声明中使用 它表示这个方法或变量 只能被同一个类中的 子类中的或者同一个包中的类中的元素所访问 public Java 语言的一个关键字 在方法和变量的声明中使用 它表示这个方法或变量 能够被其它类中的元素访问 return Java 语言的一个关键字 用来结束一个方法的执行 它后面可以跟一个方法声 明中要求的值 short Java 语言的关键字 用来定义一个 short 类型的变量 static Java 语言的关键字 用来定义一个变量为类变量 类只维护一个类变量的拷贝 不管该类当前有多少个实例 static 同样能够用来定义一个方法为类方法 类方法通过类名调用而不是特定的实例 并且只能操作类变量 this Java 语言的关键字 用来代表它出现的类的一个实例 this 可以用来访问类变 量和类方法 throw Java 语言的关键字 允许用户抛出一个 exception 对象或者任何实现 throwable 的对象 throws Java 语言的关键字 用在方法的声明中来说明哪些异常这个方法是不处理的 而是提交到程序的更高一层 transient Java 语言的关键字 用来表示一个域不是该对象串行化的一部分 当一个对象 被串行化的时候 transient 型变量的值不包括在串行化的表示中 然而非 transient 型的变量是被包括进去的 try Java 语言的关键字 用来定义一个可能抛出异常语句块 如果一个异常被抛出 一个可选的 catch 语句块会处理 try 语句块中抛出的异常 同时 一个 finally 语句块会被执行 无论一个异常是否被抛出 void Java 语言的关键字 用在 Java 语言的方法声明中说明这个方法没有任何返回 值 void 也可以用来表示一句没有任何功能的语句 volatile Java 语言的关键字 用在变量的声明中表示这个变量是被同时运行的几个线程 异步修改的 while Java 语言的一个关键字 用来定义一段反复执行的循环语句 循环的退出条件 是 while 语句的一部分 关于 break 和 continue continue 语句与 break 语句相关 但较少用到 continue 语句用于使其所在的 for while 或 do while 语句开始下一次循环 在 while 与 do while 语句中 continue 语句的执行意味着立即执行测试部分 在 for 循环语句中 continue 语句的执行则意味着使控制传递到增量部分 测试代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 publicpublic classclass LabledFor static Test monitor new Test publicpublic staticstatic voidvoid main String args intint i 0 outer forfor truetrue inner forfor i 10 i System out println i i ifif i 2 System out println continue continuecontinue ifif i 3 System out println break 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 i breakbreak ifif i 7 System out println continue outer i continuecontinue outer ifif i 8 System out println break outer breakbreak outer forfor intint k 0 k 5 k ifif k 3 System out println continue inner continuecontinue inner 结果 i 0 continue inner i 1 continue inner i 2 break i 3 continue i 4 continue inner i 5 continue inner i 6 continue inner i 7 continue outer i 8 Java 保留关键字 Java 语言有 51 个保留关键字 其中 const 和 goto 虽然被保留但未被使用 你不 能使用保留关键字来命名类 方法或变量 一 保留关键字 数据类型 Boolean int long short byte float double char class interface 流程控制 if else do while for switch case default break continue return try catch finally 修饰符 public protected private final void static strictfp abstract transient synchronized volatile native 动作 package import throw throws extends implements this Super instanceof new 保留字 true false null goto const 二 访问修饰符 访问修饰符 public protected private 只能应用于类的成员变量 局部变量只能在函数的 范围内可见 不能使用访问修饰符 能够用来修饰类本身 protected private 不能用于 顶级类 只能用于内部类 能够应用于成员方法和构造函数 下面是一个例子 package Examples public class HelloWorld02 以下定义了三个了类成员变量 public String str1 Hello 可被你程序中的任何其他 代码访问 protected String str2 World 程序中同一包的成员和不同包 中的该类子类可以访问 private String str3 仅该类中的成 员可以访问 String str str1 str3 str2 不使用修饰符的话 变量的访问控 制在所在包内为 public 不能被所在 包外的代码存取 以下定义了三个使用不同修饰符和不同参数的构造方法 public HelloWorld System out println str protected HelloWorld long l System out print Use protected constructor And l is l System out println str private HelloWorld float f System out print Use private constructor And f is f System out println str 声明构造方法为 void 类型是合法的 不过因为没有返回值 所以 不能用来创建新对象 public void HelloWorld System out println str Use the void constructor public static void main String args HelloWorld hw1 new HelloWorld 使用无参数的 构造方法 HelloWorld hw2 new HelloWorld 5 虽然 5 是 int 类型 但会自动提升成 long 类型 HelloWorld hw3 new HelloWorld 5L HelloWorld hw5 new HelloWorld 3 14f 但 float 类型 则必须指明 否则会出错 hw5 HelloWorld 无返回 值的构造方法只能这样调用 new HelloWorld HelloWorld 这里创建了 一个匿名类对象并调用无返回值的构造方法 总结 请认真思考一下 1 public protected private 可用来修饰哪些成员 使用这些修饰符的成员的访问控制是怎样的 没有指定访问修饰符的成员的访问控制是怎样的 public protected 和 private 可以用来修饰类成员变量 方法 构造方法和内部类 public 可以用来修饰顶级类 但 protected 和 private 则不行 类成员访问控制可见下表 Private 成员 默认成员 Protected 成员 Public 成员 同一类中可见 是 是 是 是 同一包中对子类可见 否 是 是 是 同一包中对非子类可见 否 是 是 是 不同包中对子类可见 否 否 是 是 不同的包中对非子类可见 否 否 否 是 简单总结一下 按它们的访问范围由大到小排列 public 任何地方均可访问 protected 同一包和子类可见 默认 同一包中可见 private 仅该类内部可见 注意事项 每一个 java 文件中可以包含多个类 但只能存在一个 public 顶级类 如果声 明了两个顶级类的话 则会出现编译错误 二 部分其他修饰符 this Java 中定义了 this 关键字来访问当前对象实例内的成员 当局部变量和类实例 内的类变量同名时 在这个局部变量所作用区域内类变量就被隐藏了 必须使 用 this 来指明 static 有时你希望定义一个类成员 使它的使用完全独立于该类的任何对象 通常情 况下 类成员必须通过它的类的对象访问 但是可以创建这样一个成员 它能 够被它所在类使用 而不必引用所在类的实例 将类中的成员声明为 static 就 能实现这样的效果 声明为 static 的变量实质就是全局变量 当声明一个对象 某个类的实例 时 并不产生 static 变量的拷贝 而是该类所有的实例变量 共用同一个 static 变量 声明为 static 的方法有以下三条限制 它们只能访问 static 数据 它们仅能调用其他的 static 方法 它们不能以任何方式引用 this 或 super 实例分析 package Examples public class StaticDemo public static void main String args System out println MyStaticClass str 不用创建 MyStaticClass 的实例就能访问它的 str 变量 System out println MyStaticClass str2 这句是错误的 MyStaticClass msc new MyStaticClass 这里创建 MyStaticClass 的一个实例 System out println After create instance msc printString class MyStaticClass static String str Hello World String str2 void setString String s str2 s static void setNewString String s str s static void printString setString str 在 static 方法中调用非 static 方法是 错误的 System out println str2 也不能访问非 static 变量 Java 中是先检测 static 变量再检测 static 方法的 System out println str 可以正常访问 static 变量 setNewString Static method is OK 正常调用 static 方法 System out println str final 一个变量可以被声明为 final 这样做的目的是阻止它的内容被 修改 这意味着在声明 final 变量的时候 你必须初始化它 一个 final 变量实 质上是一个常数 为 final 变量的所有字母选择大写是一个普遍的编码约定 声 明为 final 的变量在实例中不占用内存 声明成 final 的方法不能被重载 通常 Java 在运行时动态的调 用方法 这叫做后期绑定 late binding 由于被声明为 final 的方法不能被重载 那么对 final 方法的调用可以在编译时解决 这叫做早期绑定 early bingding 声明为 final 的类不能被其他类继承 声明一个 final 类含蓄的 宣告了它的所有方法也都是 final 的 所以 声明一个既是 abstract 的 又是 final 的类是不合法的 因为抽象类本身是不完整的 它依靠它的子类提供完整 的实现 strictfp Java2 向 Java 语言增加了一个新的关键字 strictfp 与 Java2 同时产生 的浮点运算计算模型很轻松的使某些处理器可以以较快速度进行浮点运算 例 如奔腾处理器 这个浮点运算计算模型在计算过程中 不需要切断某些中介值 如果用 strictfp 来修饰类或方法 可以确保浮点运算 以及所有切断 正如它们 在早期 Java 版本中那样准确 即使用原始的浮点运算模型 切断只影响某些 操作的指数 当一个类被 strictfp 修饰 所有该类的方法都自动被 strictfp 修饰 坦白说 很多程序员从未用过 strictfp 因为它只对非常少的问题有影响 native 有时你希望调用不是用 Java 语言写的子程序 或者你希望调用一个专 用的第三方的库 例如统计学包 虽然这种情况比较少 但 Java 提供了 native 关键字 该关键字用来声明本机代码方法 为声明一个本机方法 在该方法之前用 native 修饰符 但是不要定义 任何方法体 例如 public native int meth 声明本机方法后 必须编写本机方法并要执行一系列复杂的步骤使它 与 Java 代码链接 很多本机方法是用 C 写的 把 C 代码结合到 Java 程序中的 机制是调用 Java Native Interface JNI transient 如果用 transient 声明一个实例变量 当对象储存时 它的值不需要维持 例如 class T transient int a will not persist int b will persist 这里 如果 T 类的一个对象被写入一个持久的存储区域 a 的内容不被保 存 但 b 将被保存 volatile 不是很明白 待研究 volatile 修饰符告诉编译器被 volatile 修饰的变量可以被程序的其他部 分改变 一种 这样的情形是多线程程序 在多线程程序里 有时两个或更 多的线程共享一个相同的实例变量 考虑效率的问题 每个线程可以自己保存 该共享变量的私有拷贝 实际的 或主要的 变量副本在不同的时候更新 例 如当进入 synchronized 方法时 当这种方法运行良好时 它在时间上会是低效 的 在某些情况下 真正要紧的是变量主副本的值会体现当前的状态 为保证 这点 仅需把变量定义成 volatile 型 它告诉编译器它必须总是使用 volatile 变 量的主副本 或者至少总是保持一些私有的最新的主副本的拷贝 反之亦然 同时 对主变量的获取必须以简洁次序执行 就像执行私有拷贝一样 保留字以后可能用 关键字现在就已经使用 Java 关键字列表 依字母排序 共 51 组 abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while Java 保留字列表 依字母排序 共 14 组 Java 保留字是指现有 Java 版本尚未使 用 但以后版本可能会作为关键字使用 byValue cast false future generic inner operator outer rest true var goto const null Java 语言有 51 个保留关键字 其中 const 和 goto 虽然被保留但未被使用 你不 能使用保留关键字来命名类 方法或变量 一 保留关键字 数据类型 Boolean int long short byte fl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论