final关键字也可以用来修饰类,用final关键字修饰的类,不能被继承并且类的内容不能被修改。
案例1:新建ErrorConstant(错误信息类),在ErrorConstant类提供常用错误信息,用于程序报错处理。ErrorConstant用final关键字修饰。然后再建立一个ErrorConstant类的子类SubErrorConstant,检测该类是否能够继承ErrorConstant类。
在PCoreUnit3项目新建info包,在info包下新建ErrorConstant类。创建ErrorConstant类时,需要在New Java Class对话框中,检查final检查项。如下图所示:
创建Final类对话框
代码如下:
package info;
/**
* @ClassName: ErrorConstant
* @Description: 包与类的高级特性(final类)案例1
* @author 编程训练营
* @date
*
*/
public final class ErrorConstant {
// 定义错误信息
static final String LONIN_NAME_ERROR = "登录名称错误";
static final String LONIN_PSW_ERROR = "登录密码错误";
}
}ErrorConstant类定义了两个String类型的静态常量,用于表示登录名称和登录密码错误信息。
在info包下新建ErrorConstant类的子类SubErrorConstant类。代码截图如下:

SubErrorConstant代码截图
从SubErrorConstant类代码截图可以看出,继承ErrorConstant类时,编译器报错,错误语句是第20行,主要错误信息是要求移除ErrorConstant类的final关键字,错误信息如下图所示。

由此可见,当类使用final关键字修饰后,该类不能被其它类继承。
在info包下新建测试类ErrorConstantTest,输出ErrorConstant的静态常量。代码如下:
package info;
/**
* @ClassName: ErrorConstantTest
* @Description: 包与类的高级特性(final类)案例1
* @author 编程训练营
* @date
*
*/
public class ErrorConstantTest {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
// 输出错误信息
System.out.println(ErrorConstant.LONIN_NAME_ERROR);
System.out.println(ErrorConstant.LONIN_PSW_ERROR);
}
}程序执行结果如下图所示:
