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类:

QQ鎴�浘20161008182201.jpg

我们发现 编译报错了 说不能继承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类:

QQ鎴�浘20161008182804.jpg

我们发现,编译出错,说不能重写父类final方法;

3,final修饰的变量

我们在People类搞一个final属性,然后在方法里修改这个属性;

QQ鎴�浘20161008183820.jpg

我们发现,编译出错,说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 }
原文地址:https://www.cnblogs.com/eaglezb/p/5970818.html