Java面向对象-final关键字
Java面向对象-final关键字
final是终结 完结的意思;
使用final声明的类不能被继承;
使用final声明的方法不能被子类覆盖;
使用final声明的变量不能被修改,即为常量;
1,final修饰类
我们建一个僵尸类:
1 package com.java1234.chap03.sec10; 2 3 /** 4 * 僵尸类 5 * @author user 6 * 7 */ 8 public final class JiangShi { 9 10 }
这类是final修饰的,我们再建一个Test类 继承JiangShi类:
我们发现 编译报错了 说不能继承final类;
2,final修饰方法
我们再新建一个类 ,加一个final方法:
1 package com.java1234.chap03.sec10; 2 3 public class People { 4 5 public final void action(){ 6 System.out.println("做一个良好公民!"); 7 } 8 }
我们搞一个类继承下People类:
我们发现,编译出错,说不能重写父类final方法;
3,final修饰的变量
我们在People类搞一个final属性,然后在方法里修改这个属性;
我们发现,编译出错,说final字段不能修改;
final修饰字段的时候 一般和static一起使用,来定义一些不可变的静态常量 方便程序使用;
1 package com.java1234.chap03.sec10; 2 3 public class Common { 4 5 /** 6 * 静态常量 7 */ 8 public static final String CHINA_CAPITAL="北京"; 9 }
我们调用的话 直接类名.属性 即可;
1 package com.java1234.chap03.sec10; 2 3 public class Test{ 4 5 public static void main(String[] args) { 6 System.out.println(Common.CHINA_CAPITAL); 7 } 8 }