Java面向对象-final关键字
final是终结 完结的意思;
使用final声明的类不能被继承;
使用final声明的方法不能被子类覆盖;
使用final声明的变量不能被修改,即为常量;
1,final修饰类
我们建一个僵尸类:
package com.java1234.chap03.sec10;
/**
* 僵尸类
* @author user
*
*/
public final class JiangShi {
}这类是final修饰的,我们再建一个Test类 继承JiangShi类:

我们发现 编译报错了 说不能继承final类;
2,final修饰方法
我们再新建一个类 ,加一个final方法:
package com.java1234.chap03.sec10;
public class People {
public final void action(){
System.out.println("做一个良好公民!");
}
}我们搞一个类继承下People类:

我们发现,编译出错,说不能重写父类final方法;
3,final修饰的变量
我们在People类搞一个final属性,然后在方法里修改这个属性;

我们发现,编译出错,说final字段不能修改;
final修饰字段的时候 一般和static一起使用,来定义一些不可变的静态常量 方便程序使用;
package com.java1234.chap03.sec10;
public class Common {
/**
* 静态常量
*/
public static final String CHINA_CAPITAL="北京";
}我们调用的话 直接类名.属性 即可;
package com.java1234.chap03.sec10;
public class Test{
public static void main(String[] args) {
System.out.println(Common.CHINA_CAPITAL);
}
}下一篇:Java面向对象-抽象类