final关键字

final的特点

        final的中文意思是最终,既然是最终就是已经结束了,无法再改变了。在Java里面final关键字同样也有着类似的功能。

        final修饰的类无法被继承。例1

        final修饰的方法无法被重写。例2

        final修饰的局部变量,一旦赋值,不可再改变。例3

        final修饰的成员变量必须初始化值。例4

例1:

    final class  A{}

   class    B    extends   A{}//error无法继承


例2:

class    A{

    public    final    void    m1(){}

}class    Bextends    A{

    public    void    m1(){}//error无法重写

}


例3:

clas    sA{

    public    void    m1(){

        //声明       

        final int i;

        //第一次赋值        i = 100;

        //error不能重新赋值        i = 1200;

    }

}


例4:

class    A{

    //final修饰的成员变量必须手动初始化.   

         final int i = 100;

    //error必须进行初始化  

         final int k;

    //final修饰的成员变量一般和static联用。   

     ////java规范中要求所有的常量"大写"    public static final double PI = 3.14;

}


final修饰引用类型

final修饰的引用类型,该引用不可再重新指向其他的java对象。但是fianl修饰的引用,该引用指向的对象的属性值是可以修改的。

    基本类型,是值不能被改变

    引用类型,是地址值不能被改变,对象中的属性可以改变

public class FinalTest01{

    publicstaticvoidmain(String[] args){

        final Customer c = new Customer("张三",20);

        //c是final的,无法重新赋值。       

         //c = new Customer("李四",21);

            //Error        c.name = "王五";

        c.age = 25;

        System.out.println(c.name);

        System.out.println(c.age);

    }

}class Customer{

    String name;

    int age;

    Customer(String name,int age){

        this.name = name;

        this.age = age;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容