abstract Java 关键字
abstract 关键字可以修改类或方法。
abstract 类可以扩展(增加子类),但不能直接实例化。
abstract 方法不在声明它的类中实现,但必须在某个子类中重写。
示例
public abstract class MyClass
{
}
public abstract String myMethod();
注释
采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。
abstract 类不能实例化。
仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abstract 类的子类。这种类称为具体类,以区别于 abstract 类。
如果 abstract 类的子类没有实现其超类的所有 abstract 方法,该子类也是 abstract 类。
abstract 关键字不能应用于 static、private 或 final 方法,因为这些方法不能被重写,因此,不能在子类中实现。
final 类的方法都不能是 abstract,因为 final 类不能有子类。
extends Java 关键字
extends 关键字用在 class 或 interface 声明中,用于指示所声明的类或接口是其名称后跟有 extends 关键字的类或接口的子类。
示例
public class Rectangle extends Polygon
{
}
注释
在上例中,Rectangle 类继承 Polygon 类的所有 public 和 protected 变量和方法。
Rectangle 类可以重写 Polygon 类的任何非 final 方法。
一个类只能扩展一个其他类。
final Java 关键字
final 关键字可以应用于类,以指示不能扩展该类(不能有子类)。
final 关键字可以应用于方法,以指示不能重写任何子类中的方法。
示例
public final class MyFinalClass
{
}
public class MyClass
{
public final String myFinalMethod()
{
<statements>
}
}
注释
一个类不能同时是 abstract 又是 final。abstract 意味着必须扩展类,final 意味着不能扩展类。
一个方法不能同时是 abstract 又是 final。abstract 意味着必须重写方法,final 意味着不能重写方法。
finally Java 关键字
finally 关键字用来定义始终在 try-catch-finally 语句中执行的块。
finally 块通常包含清理代码,用在部分执行 try 块后恢复正常运行。
示例
try
{
<可能引发异常的块>
}
catch (<java.lang.Exception 或子类> e)
{
<处理异常 e 的代码>
}
finally
{
<有异常或无异常情况下都执行的语句>
}
注释
开始和结束标记 { 和 } 是 finally 子句语法的一部分,即使该子句只包含一个语句,也不能省略这两个标记。
每个 try 块都必须至少有一个 catch 或 finally 子句。
如果执行 try 块的任何部分,不论是否出现异常,也不论 try 或 catch 块是否包含 return、continue 或 break 语句,都一定会执行 finally 块中的代码。
如果不出现异常,控件将跳过 try 块,进入 finally 块。
如果在执行 try 块期间出现异常,并且相应的 catch 块包含 break、continue 或 return 语句,控件将首先穿过 finally 块,之后再执行 break、continue 或 return。
implements Java 关键字
implements 关键字在 class 声明中使用,以指示所声明的类提供了在 implements 关键字后面的名称所指定的接口中所声明的所有方法的实现。
示例
public class Truck implements IVehicle
{
}
注释
在上例中,Truck 类必须提供在 IVehicle 接口中所声明的所有方法的实现。
否则,Truck 类将是独立的;它可以声明其他方法和变量,并扩展另一个类。
一个类可以实现多个接口。
instanceof Java 关键字
instanceof 关键字用来确定对象所属的类。
示例
if (node instanceof TreeNode)
{
<statements>
}
注释
在上例中,如果 node 是 TreeNode 类的实例,或者是 TreeNode 的子类的实例,则 instanceof 表达式的值将为 true。
interface Java 关键字
interface 关键字用来声明新的 Java 接口,接口是方法的集合。
接口是 Java 语言的一项强大功能。任何类都可声明它实现一个或多个接口,这意味着它实现了在这些接口中所定义的所有方法。
示例
public interface IPolygon
{
public float getArea();
public int getNumberOfSides();
public int getCircumference();
}
注释
实现了接口的任何类都必须提供在该接口中的所有方法的实现。
一个类可以实现多个接口。
static Java 关键字
static 关键字可以应用于内部类(在另一个类中定义的类)、方法或字段(类的成员变量)。
示例
public class MyPublicClass
{
public final static int MAX_OBJECTS = 100;
static int _numObjects = 0;
static class MyStaticClass
{
}
static int getNumObjects()
{
}
}
注释
通常,static 关键字意味着应用它的实体在声明该实体的类的任何特定实例外部可用。
static(内部)类可以被其他类实例化和引用(即使它是顶级类)。在上面的示例中,另一个类中的代码可以实例化 MyStaticClass 类,方法是用包含它的类名来限定其名称,如 MyClass.MyStaticClass。
static 字段(类的成员变量)在类的所有实例中只存在一次。
可以从类的外部调用 static 方法,而不用首先实例化该类。这样的引用始终包括类名作为方法调用的限定符。在上面的示例中,MyClass 类外部的代码以 MyClass.getNumObjects() 的形式调用 getNumObjects() static 方法。
模式:
public final static <type> varName = <value>;
通常用于声明可以在类的外部使用的类常量。在引用这样的类常量时需要用类名加以限定。在上面的示例中,另一个类可以用 MyClass.MAX_OBJECTS 形式来引用 MAX_OBJECTS 常量。
switch Java 关键字
switch 语句用于基于某个表达式选择执行多个代码块中的某一个。
示例
int arg = <some value>;
switch (arg)
{
case 1:
<statements>
break;
case 2:
<statements>
break;
default:
<statements>
break;
}
char arg = <some value>;
switch (arg)
{
case 'y':
case 'Y':
<statements>
break;
case 'n':
case 'N':
<statements>
break;
default:
<statements>
break;
}
注释
switch 条件的计算结果必须等于 byte、char、short 或 int。
case 块没有隐式结束点。break 语句通常在每个 case 块末尾使用,用于退出 switch 语句。
如果没有 break 语句,执行流将进入所有后面的 case 和/或 default 块。
synchronized Java 关键字
synchronized 关键字可以应用于方法或语句块,并为一次只应由一个线程执行的关键代码段提供保护。
示例
public class MyClass
{
public synchronized static String mySyncStaticMethod()
{
}
public synchronized String mySyncMethod()
{
}
{
public class MyOtherClass
{
Object someObj;
public String myMethod()
{
<statements>
synchronized (someObj)
{
<statements affecting someObj>
}
}
}
注释
synchronized 关键字可防止代码的关键代码段一次被多个线程执行。
如果应用于静态方法(如上例中的 MySyncStaticMethod),那么,当该方法一次由一个线程执行时,整个类将被锁定。
如果应用于实例方法(如上例中的 MySyncMethod),那么,当该方法一次由一个线程访问时,该实例将被锁定。
如果应用于对象或数组,当关联的代码块一次由一个线程执行时,对象或数组将被锁定。
throw Java 关键字
throw 关键字用于引发异常。
示例
import java.io.IOException;
public class MyClass
{
public method readFile(String filename) throws IOException
{
<statements>
if (error)
{
throw new IOException("error reading file");
}
}
}
注释
throw 语句将 java.lang.Throwable 作为参数。Throwable 在调用栈中向上传播,直到被适当的 catch 块捕获。
引发非 RuntimeException 异常的任何方法还必须在方法声明中使用 throws 修饰符来声明它引发的异常。
throws Java 关键字
throws 关键字可以应用于方法,以便指出方法引发了特定类型的异常。
示例
import java.io.IOException;
public class MyClass
{
public method readFile(String filename) throws IOException
{
<statements>
if (error)
{
throw new IOException("error reading file");
}
}
}
注释
throws 关键字将逗号分隔的 java.lang.Throwables 列表作为参数。
引发非 RuntimeException 异常的任何方法还必须在方法声明中使用 throws 修饰符来声明它引发的异常。
要在 try-catch 块中包含带 throws 子句的方法的调用,必须提供该方法的调用者。
transient Java 关键字
transient 关键字可以应用于类的成员变量,以便指出该成员变量不应在包含它的类实例已序列化时被序列化。
示例
public class MyClass
{
private transient String password;
}
分享到:
相关推荐
本文将深入解析几个关键的Java关键字及其用法。 首先,`instanceof`关键字用于判断一个对象是否属于某个类、接口或其子类/实现类。它的基本形式是`boolean result = obj instanceof Class`。需要注意的是,`obj`...
在Java编程语言中,`transient`...理解`transient`的工作原理及其在序列化过程中的作用,对于任何进行Java开发的程序员来说都是至关重要的技能。通过合理使用`transient`关键字,可以显著提高应用程序的安全性和效率。
Java编程语言是面向对象的、跨平台的编程语言,由Sun ...在"【IT十八掌徐培成】Java基础第02天-01.java关键字"这个视频教程中,徐培成老师将详细讲解这些关键字的使用场景和注意事项,对于初学者来说是一份宝贵的资源。
本项目是一个使用C语言编写的,针对C/C++/Java关键字进行语法高亮分析的工具。它旨在为开发者提供与Visual Studio 2008和Eclipse等专业集成开发环境(IDE)类似的代码高亮效果,帮助用户更清晰地识别和理解代码结构...
Java关键字在编程中起着至关重要的作用,它们是Java语言的预定义词汇,具有特定的含义和功能。这里我们将深入探讨几个重要的关键字:`abstract`, `final`, `this`, `super`, 和 `static`。 首先,`abstract` 关键字...
这种框架的核心理念是将测试逻辑转化为易于理解的关键字,使得非程序员也能参与到测试活动中来。 关键字驱动测试是自动化测试的一种策略,它将测试操作封装成独立的关键字,这些关键字代表了具体的业务操作或功能。...
下面我们将深入探讨`this`关键字的几个主要用法。 1. **成员变量的访问** 当类中的局部变量和成员变量名称相同时,`this`关键字用于区分它们。例如: ```java public class Student { String name; // 成员变量...
总结来说,`volatile`关键字是Java并发编程中一个非常重要的概念。它不仅解决了多线程环境下的可见性问题,还能够在一定程度上保证有序性。然而,它并不保证复合操作的原子性,因此在设计并发程序时,还需要根据具体...
要实现这个功能,我们需要以下几个关键知识点: 1. **Java GUI(图形用户界面)**:项目中使用GUI来创建记事本界面,这通常涉及到Java的Swing或JavaFX库。例如,`JFrame`用于创建窗口,`JTextArea`用于显示和编辑...
关键字高亮通常涉及到以下几个核心概念: 1. **颜色主题**:在Java Swing中,你可以通过自定义颜色主题来改变关键字的颜色。这可以通过创建并应用LAF(Look and Feel)实现,LAF允许开发者改变组件的视觉样式。 2....
今天,我们就来详细讨论Java多线程中几个常用的关键字。 1. 同步(synchronized) 同步是一种锁机制,用于保护共享资源的访问。简单来说,同步可以理解为共享的意思,如果资源不是共享的,就没必要进行同步。设置...
"Java关键字与标识符小结" Java语言中,关键字和标识符是两个重要的概念。关键字是被Java语言赋予了特殊含义的单词,总共有50个。它们被用来定义数据类型、流程控制、访问权限修饰符、类、函数、变量修饰符、类之间...
Java中的`static`关键字是用来修饰类的成员变量和方法的,它有以下几个核心特性: 1. **静态变量(Static Variables)**: - 静态变量被所有类的实例共享,它们在类加载时被初始化,存储在方法区而非堆内存中。这...
在您提供的信息中,"几个Java类"可能是指包含一些Java源代码文件(.java)的压缩包,这些文件可能定义了不同的类,用于实现特定的功能。尽管描述中提到这些类“价格性不高”且可能“太小”,但它们仍然是理解Java...
在Java编程语言中,`this`关键字是一个非常关键的概念,它代表了当前对象的引用。...通过以上几个方面,我们可以看到`this`在不同场景下的应用,希望这些示例能帮助你更好地理解`this`关键字在Java中的作用。
在Java编程语言中,`super`关键字是一个非常重要的概念,它用于引用当前对象的父类。`super`关键字主要用于以下几种情况:调用父类的构造器、访问父类的成员变量以及调用父类的非私有方法。下面我们将详细探讨`super...
Java中的`final`关键字是一种非常重要的修饰符,它用于声明变量、方法或类,以确保它们的不可变性。在深入探讨`final`的使用方法之前,我们需要理解为什么在编程中会需要不可变性。 不可变性在软件设计中起着至关...
Java中的`static`关键字是一个非常重要的概念,它在面向对象编程中扮演着核心角色。`static`关键字可以用于修饰变量、方法和代码块,每种修饰都有其特定的用途和意义。 首先,让我们来理解一下`static`修饰的变量,...
`this`关键字主要用于以下几个方面: 1. **方法内的引用**:在类的方法内部,`this`关键字用来引用调用该方法的对象。例如,当我们有多个同名变量时,`this`可以帮助区分实例变量和局部变量。在上述`Leaf`类的例子...