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面向对象-抽象类