final关键字

一、final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。

二、final的作用:final根据修饰位置的不同作用也不同,有三种情况

       (1)修饰变量,被final修饰的变量必须要初始化,赋初值后不能再重新赋值。

       (2)修饰方法,被final修饰的方法代表不能重写。

       (3)修饰类,被final修饰的类,不能被继承。

                            注意:final修饰的类,类中的所有成员方法都被隐式的指为final方法。

                                        final不能用于修饰构造方法。                                       

1.1final修饰变量

       被final修饰的变量必须显示的初始化,初始化有三种方式:(1)定义时初始化;(2)在构造方法中设置值;(3)在非静态块中为final变量设置值。

       final修饰变量指的是:这个变量被初始化后不可改变,不可改变的意思是对基本类型来说是其值不可变,而对于对象变量来说其引用不可变,即不能再指向其他对象。

三、使用final可以把方法锁定,以防任何继承类修改它的含义。

        public class Person {
       public final void eat(){
}

}

四、final和static的区别

              final 被修饰的是变量常量一旦赋值就不能修改,被修改的方法为最终方法不能被重写,被修饰的类是最终类,不能被继承。

static 被修饰的是变量方法,为整个类及其类的对象所共享,一个类或对象修改了被定义的类或方法,其他的也会跟着变量。

五、final和private

   类中所有的private方法都隐式的指定为final的,由于无法取用private方法,所以也就无法覆盖它,可以对private方法添加final修饰符,但添加并没有任何额外意义。

           private final void Play() {

}

“覆盖”就是重写只有在方法是类的接口的一部分是才会出现,也就是说必须将一个对象向上转型为它的基本类型并调用相同的方法。如果方法是

private,就不是类接口的一部分,只是具有相同名称的方法而已。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值