首页 > 图灵资讯 > 技术篇>正文

java关键字详解(abstract.double.int.switch)

2024-03-03 10:35:35

语法图解语法图解采用以下规则:

从左到右,从上到下,沿着路径阅读语法图。 以下符号用于语法图解:>>- 指示一个句子的开始-> 下一行将继续指示该语句>- 说明这句话从前一行继续->< 指示句子的终止 句法单元而不是完整的句子图 |- 开始并以 -|结束。 要求的项目在主要路径上。 >>-required-item---------------------><可选项目在主要路径下。 >>-required-item--+----------------+----->< '-optional-item--在堆栈中选择项目。若要求,则为主路径;若为可选,则为主路径。 >>-required-item--+-required-choice1-+--+------------------+-->< '-required-choice2- +-optional-choice1-+ '-optional-choice2-一个选择的缺省项是在该主路径的上面。 .-default-optional-choice-.>>-required-item--+-------------------------+-->< +-optional-choice1--------+ '-optional-choice2-'重复项有一个箭头返回到主行左上角。 关键词是小写的。 关键词是小写的。每一个都必须像显示的那样拼写。 大小写混合了变量(例如 InterfaceTypeList)。每个代表用户提供的名称或值。 标点符号是语法语句的一部分。

abstract关键字关键字

类语法

>>-+--------+-abstract-class-Identifier-+-------------------+-> '-public-' '-extends-ClassType-' >-+------------------------------+-ClassBody->< '-implements-InterfaceTypeList-'

方法语法

>>-+-----------+-abstract-ResultType-Identifier-> +-public----+ '-protected-' >-(-+---------------------+-)-;->< '-FormalParameterList-'

描述abstractt 用于创建抽象类和方法的关键字。抽象类不能实例化,它们的目的是为子类提供一般信息。抽象类可以包含正常类所包含的任何东西,即类和实例变量,以及带有任何修饰词的方法和结构。抽象可能是唯一的抽象方法。假如一个不抽象的类包含一个抽象的方法,那么编译错误就会发生。如果建立了以下一个,则有一个抽象的方法: 它明确地声明了一个 abstract 方法。 它从它的直接父类继承了一种抽象的方法。 一个直接类的父接口声明或继承了一种方法(所以必须是 abstract )而且这种方法既没有声明也没有继承。

假如用户声明 private,static,和 final 方法为 abstract,会出现编译错误。因此,不可能重新设置private方法 abstract private 这种方法永远不会实现。 Static 方法总是可用的,所以必须有一个实现; static abstract 这种方法将永远不会实现。 final 方法不能重新设置,因此不会有任何方法 final abstract 实现方法。

一个抽象类可以通过提供另一个抽象方法声明来覆盖一个抽象方法。这可以提供一个放置文档注释的地方,也可以声明一个更有限的异常集合,可以抛出。

在下面的例子中,抽象类的例子 MyAbstractClass 有一种常见的方法和一种抽象的方法。具体类别 MyConcreteClass 继承自 MyAbstractClass 并且提供了 abstractMethod 一个实现。

public abstract class MyAbstractClass { public void regularMethod() { abstractMethod(); } protected abstract void abstractMethod(); }

public class MyConcreteClass extends MyAbstractClass { protected void abstractMethod() { // does something interesting } }

显示以下代码片段 MyAbstractClass 和 MyConcreteClass 合法非法使用类别。

// 非法。编译错误。 MyAbstractClass abstractClass = new MyAbstractClass(); // 合法。 MyConcreteClass concreteClass = new MyConcreteClass(); // 非法。保护方法。 concreteClass.abstractMethod();

// 合法。一般方法。 concreteClass.regularMethod();

double 关键字

描述该 double 数值类型表示双精度类型 64 位 IEEE 754 浮点数。一个 double 实例变量、类变量和数组元素的缺省值为零,即0.0。double 的值是从 4.9e-324 到 1.7976931348623157e308。浮点数值文本假定为类型 double; 可选,用户可以使用一个 ASCII 字符 D 或 d 作为它们的后缀。

示例用户可以声明一个 double 并在声明中给它一个初始值:

double exampleDouble = 5.0;

另外的 double 字面量的例子包括:1e1 2..3 0.03.14 1e-9d 1e137

int 关键字

描述该 int 一种数值类型代表一种 32-bit 带正负号的二进制补码整数。一个 int 实体变量、类变量和数组元素的缺省值为零,即0。 int 值为闭区间 -2147483648 到 2147483647 的整数。

示例用户可以声明一个 int 并在声明中给它一个初始值:

int exampleInt = 1000; //name of the variable is exampleInt and its value is 1000

switch

语法

v-------------------------------------------' >>-switch-(-Expression-)-{-+-case-ConstantExpression-:-BlockStatements-+-> >-+---------------------------+-}->< '-default-:-BlockStatements-'

描述该 switch 语句使用户将变量与不同的测试值进行比较。它根据一个表达值在一个循环中将控制传输到几个句子中的一个。如果测试值与任何测试值相同 case 等值,然后发生并发生相应的结果 break 语句引起 switch 句子的执行结束。 Expression 类型必须是 byte、short 、int 或 long,否则会出现编译错误。

一个 switch 句体必须是一个块。该块中立即包含的任何句子都可以使用一个或多个句子 case 或 default 标签标记。 当 switch 句子被执行,首先要执行 Expression 被求值。如果Expression 由于某种原因,求值突然完成, switch 由于同样的原因,句子会突然完成。否则,执行将通过 Expression 的值与每个 case 继续比较常量。 此后,根据以下规则作出判断: 如果 case 其中一个常量等于 Expression 所以我们说是的 case 匹配,一切都在 switch 块中匹配的 case 如果有,标签后的句子将按顺序执行。如果所有这些句子都正常完成或匹配 case 标签后没有句子,所以整个句子 switch 正常完成语句。 如果没有 case 匹配,有一个 default 所以所有的标签都在这里 switch 块中匹配的 default 如果有,标签后的句子将按顺序执行。 如果所有这些句子都正常完成,或者在这里 default 标签后没有句子,所以整个句子 switch 正常完成语句。 如果没有 case 而且没有匹配 default 标签,所以没有进一步的动作,应该是 switch 正常完成语句。 以下一切必须正确,否则会出现编译错误: 每一个与switch语句相关的case常量表达式必须是可以赋予的 switch 的 Expression 的类型的。 与switch语句相关的case常量表达式不能有两个相同的值。 最多只有一个 default 标签可以是一样的 switch 语句相关。

在下面的例子中,我们使用一个示例 for 循环来在 switch 在句子中迭代四次,用零到三的值测试它。

for (int test = 0; test <= 3; test++) { switch (test){ case 1: System.out.println("Good"); break; case 2: System.out.println("Very Good"); break; default: System.out.println( "Boring" ); break; } }

以上代码产生以下输出:

Boring Good Very Good Boring

上一篇 提高Java代码可重用性的三个措施
下一篇 用 Java 实现回调例程

文章素材均来源于网络,如有侵权,请联系管理员删除。