【final关键字--Java】

前言:

 --初学者的学习笔记--

       自己学习的理解,方便自己回顾和发现自己学习中存在的问题(理解错误和不理解)。谨慎参考。


一、final关键字是什么?

能够修饰 属性方法以及局部变量




二、final使用



1.在某个类如 Animal 前加入final,该类将不能够被继承

代码如下(示例):

final class A {
    private  String name;
   
}

class B extends A {//该处提示不能被继承
}




2.不希望 子类 覆盖/重写父类某个方法时,在该方法前加入final

代码如下(示例):

class A {
    private  int age;
    public final void say() {
    }
  }
class B extends A {
    public void say() {//此处报错
    }
}

3.final修饰属性

被final修饰的属性又被称为常量,命名规范为XX_XX_XX   。

常量的三种定义方式

(1)直接用final修饰,此时必须要赋初值

public final double PI = 3.14;

  (2) 初值在构造器中赋值。但若此时定义PI的语句 public final double PI;为一个静态修饰的,即public static final double PI;不能够采用在构造器中赋初值。只能采用(1)或者静态代码块 static { }赋初值

class A {
    private String name;//姓名
    public final double PI;//圆周率

    public A(String name) {
        this.name = name;
        PI = 3.14;
    }
}

(3)在代码块中赋值

class A {
    public final double PI;
    {
        PI = 3.14;
    }
}



三、final细节

(1)final定义的类不能够继承,但是可以实例化对象。

(2)父类中某个方法如:say(); ,被final修饰,子类不能够重写和覆盖,但是可以用父类的say();

(3)当类被final后,就不需要再对类中的方法用final修饰了

(4)final不能修饰构造器

(5)包装类也是final类因此不能够继承


四、总结

final关键字为最终的、最后的在继承中多使用,通常用来定义常量。final和static同时使用,有时能够避免类的加载。待以后学习继续补充。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值