java关键字:fianl的一些简单的用法

java关键字:fianl的一些简单的用法

引入的一个场景是:

有时候子类会去重写父类的方法方法,但是有时候不希望子类重写父类的方法

这个时候java 提供了一个关键字fianl来修饰

那么

子类中的方法不能重写被final修饰的方法

class Father{


public final void show(){


System.out.println(“不能修改hello java”);


}

}

class Son extends Father{


//编译报错:


//Son中的show()无法覆盖Father中的show()


//被覆盖的方法为final


public void show(){


System.out.println(“我修改了hello java文件”);


}

}

class Test{


public static void main(String[] args){


Son s = new Son();


s.show();


}

}

final关键字:

意思是最终的

它可以修饰类、方法、变量

final修饰:


A:类  这个类不能别其他类继承


B:方法
这个方法不能被子类重写


C:变量



a:类型为基本数据类   这个变量就称为了常量,常量一旦被赋值就不能再次赋值了,不然就报错了


常量:字面常量  “kevin” “cidy”,10,12等


 自定义常量:fianl String num = “001”;



b:类型为引用数据类型的时候   地址值不会改变,但是堆内存中的值可以进行修改


比如:


class Student{


int age =10;


}





class StuTest{


public static void main(String[] args){


Student s = new Student();


System.out.println(s.age)://输出结果为:10;





final Student s2 = new Student();


s2.age=100;


System.out.println(s2.age);//输出结果为100;


}


}


在修饰变量(数据类型为基本数据类型的时候)


如果这个变量被赋了初始值,那么这个变量就不能在被赋值,不然会报错。





public class Test3{


public static void main(String[] args){


final int a =12;


System.out.println(“a = “+a);





//错误: 无法为最终变量a分配值


a = 21;


System.out.println(“a = “+a);


}


}









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100817.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月24日 下午6:00
下一篇 2021年5月24日 下午7:00


相关推荐

  • Echarts地图详解(地图样式、合并地图、增加地图)

    Echarts地图详解(地图样式、合并地图、增加地图)概述 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 地图在我们日常的数据可视化分析中是很常见的一种展示手段 不仅美观而且很大气 尤其是在大屏展示中更是扮演着必不可缺的角色 地图实现下面我们就来实现一个基本的地图 并为之添加一些好看的样式 lt DOCTYPEhtml gt lt htmllang en gt lt head gt lt metacharset UTF 8 amp g

    2026年3月19日
    4
  • HSRP 详解

    HSRP 详解简介 HSRP HotStandbyRo 热备份路由器协议 是 Cisco 的专有协议 HSRP 把多台路由器组成一个 热备份组 形成一个虚拟路由器 这个组内只有一个路由器是 Active 活动 的 并由它来转发数据包 如果活动路由器发生了故障 备份路由器将成为活动路由器 从网络内的主机来看 网关并没有改变 HSRP 的工作过程 HSRP 路由器利用 Hello 包来互相监听各自的存

    2026年3月17日
    2
  • 【AI编程】 serena使用教程

    【AI编程】 serena使用教程

    2026年3月16日
    2
  • 机器学习模型中的损失函数loss function

    机器学习模型中的损失函数loss functionimportmatplotlib.pyplotaspltimportnumpyasnpxmin,xmax=-4,4xx=np.linspace(xmin,xmax,100)plt.plot([xmin,0,0,xmax],[1,1,0,0],’k-‘,label=”Zero-oneloss”)plt.plot(xx,np.where(x

    2022年7月12日
    20
  • 实现一个基于tcc/tlink的简单的编译链接工具

    实现一个基于tcc/tlink的简单的编译链接工具

    2021年9月4日
    72
  • windows系统如何cmd查看端口被占用、杀进程「建议收藏」

    windows系统如何cmd查看端口被占用、杀进程「建议收藏」首先是启动windows的命令窗口,按键盘上的windows+R,然后在输入框中输入cmd,既可以启动命令窗口 进入windows命令窗口之后,输入命令,输入netstat-ano然后回车,就可以看到系统当前所有的端口使用情况。 通过命令查找某一特定端口,在命令窗口中输入命令中输入netstat-ano|findstr”端口号”,然后回车就可以看到这个端口被哪个应用占用。 查看到对应的进程id之后,就可以通过id查找对应的进程名称,使用命令tasklist|findstr”进程id..

    2022年5月18日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号