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 }

 

posted on 2016-10-17 18:40  eaglezb  阅读(306)  评论(0编辑  收藏  举报

导航