博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
final关键字
阅读量:3893 次
发布时间:2019-05-23

本文共 1101 字,大约阅读时间需要 3 分钟。

final关键字可用于修饰类、变量、方法

final的中文意思是指——最终的、无法改变的。因此被final定义过之后会有以下几个特征

1.类被final定义后将不能被继承

2.final修饰的方法将不能被子类重写

3.final修饰的变量是常量,只能被赋值一次

一、final修饰的类将不能被继承

代码举例如下:

final class Animal{//此类被final修饰	public Animal(String name){		System.out.println("这是一只智障的"+name);	}}class dog extends Animal{	public dog(){		super("哈士奇");	}}public class Main {		public static void main(String[] args) {		dog dog1=new dog();	}}

若将上例中的代码运行,系统就会报错,原因就是Animal类已经被final修饰,不可以再被dog类继承

二、final修饰方法

代码如下:

class Animal{	public final void shout(){//此方法使用final修饰		System.out.println("这是一只智障的动物");	}}class dog extends Animal{	public void shout(){		System.out.println("这是一只哈士奇");	}}public class Main {		public static void main(String[] args) {		dog dog1=new dog();	}}

这个例子中Animal中的shout方法已经被final修饰,则在dog中再次重写该方法,系统就会报错

三、final关键字修饰变量

代码举例如下:

class Animal{	final String name="哈士奇";	public void shout(){//此方法使用final修饰		System.out.println("这是一只智障的动物"+name);	}}public class Main {		public static void main(String[] args) {		Animal dog1=new Animal();		dog1.shout();		dog1.name="萨摩耶";		dog1.shout();	}}

若将其运行之后就会发现在name在初始赋值为哈士奇之后就不可以更改,若更改则系统会报错。

 

转载地址:http://hkohn.baihongyu.com/

你可能感兴趣的文章
“金9银10”2020年JVM高频率面试题整理,技术提升就差一个点!
查看>>
简简单单的分享2020常见的MySQL面试题MySQL与答案整理
查看>>
听说只有大厂的Android工程师才能全答对这20道题?我看你在吹牛哦!
查看>>
武功秘籍之 Redis 面试题全掌握,学完马上找面试官对线!
查看>>
50道!2020年!!MySQL高频数据库面试题解析,你都懂了吗?
查看>>
如何用Spring Boot加密配置文件中的特殊内容示例代码详解
查看>>
谈谈这些年面试官给大伙下的那些套,如何解?(面试技巧)
查看>>
5年开发经验的我被几条朋友圈打击到,点燃自己冲击阿里面经!
查看>>
5年工作经验的我放弃安逸,一份来自腾讯魔鬼面试的终极考验!
查看>>
学JAVA吗同学,这篇Sping boot 确定不了解下么?
查看>>
(3年+offer)华为技术岗面试初面+综合面试经验总结
查看>>
男默女泪,努力复习的我终于通过社招进入BAT工作了!(JAVA+JVM+框架+中间件+Spring干货分享)
查看>>
Python 导包
查看>>
dok_matrix
查看>>
theano 后端爆内存
查看>>
os.environ 和 keras.json
查看>>
后台面试经典问题-手写LRU算法
查看>>
Part-Guided Attention Learning for Vehicle Instance Retrieval
查看>>
Deep Residual Learning for Image Recognition
查看>>
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
查看>>