java 修饰符(final 修饰符)

 final 修饰符

final 具有不可更改的意思,它可以修饰非抽象类,非抽象成员方法和变量。
        用 final 修饰的类不能被继承,没有子类 如 String
        用 final 修饰的方法不能被子类的方法覆盖
        用 final 修饰的变量表示常量,只能被赋值一次
        用 final 不能修饰构造方法,因为方法覆盖这一概念仅适用于类的成员方法,而不适用于类的构造方法,父类的构造方法和子类的构造方法之间不存在覆盖关系,因此用 final 修饰构造方法是豪无意义的。

        父类中用 private 修饰的方法不能被子类的方法覆盖,因此 private 类型的方法默认是 final 类型的。
       
final 类
        String 类 ,不让继承,封装实现的细节。

final 方法
        在某些情况下,出于安全的原因,父类不允许子类覆盖某个方法,此时可以把这个方法声明为 finnal 类型。java.lang.Object 类,getClass()为 final 类型,equals()不为 final 类型。  

final 变量
        用 final 修饰的变量表示取值不会改变的常量。
        final 修饰符可以修饰静态变量,实例变量和局部变量,分别表示静态常量,实例常量和局部常量。

        例如 出生日期,年龄的限制等。
        final 变量都必须显示初始化,否则会导致编译错误。
        final 变量只能被赋值一次。

在程序中使用 final 修饰符来定义常量的作用
        提高程序的安全性,禁止非法修改取值固定并且不允许修改的数据
        提高程序代码的可维护性。

实例:

package com.test;

   public interface PublicInterface {
      public final  int  page=0;
     //public final  Integer  pageI=null;
     //public final void toFinal(); 编译错误用 final 修饰的方法不能被子类的方法覆盖,因为接口里的方法都需要被实现的

}

package com.test;

public class PublicSubClass implements PublicInterface {
 public static void main(String[] args) {
//  PublicSubClass.page =10; //报错
  int page = PublicSubClass.page;
  System.out.println(PublicSubClass.page);
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值