JAVA中面向对象-final关键字的使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42947972/article/details/102472074

final关键字:

1.final是一个可以修饰符,可以修饰类,方法,变量.
2.final修饰的类不可以被继承
3.final修饰的方法不可以被覆盖
4.final修饰的变量是一个常量,只能赋值一次
  class Fu1{
    void method()
    {
        //假设这里是调用了底层系统的资源
    }
}
class Zi1 extends Fu1{
    void method()
    {
        System.out.println("haha");
        //这里把Fu类中的方法method()覆盖了,导致整个都崩了
    }
}

所有需要final把它变成不可以覆盖的.
修饰不可继承类也是类似的同理…

class Fu1{
    final void method()
    {
        //假设这里是调用了底层系统的资源
    }
}
class Zi1 extends Fu1{
    void method()//如果这里想覆盖就会报错了!
    {
        System.out.println("haha");
    }
}

为什么要用final修饰变量?

 其实在程序如果一个数据是固定的,那么直接使用这个数据就可以了.
   但这样阅读性差,所以它给数据起个名称.
   而且这个变量名称的值是不能变化的,所以加上final固定

       写法规范:
        常量所有字母都大写,多个单词,中间用下划线连接

猜你喜欢

转载自blog.csdn.net/weixin_42947972/article/details/102472074