首页 > 代码库 > java面向对象编程(九)--final

java面向对象编程(九)--final

1、final概念

final可以修饰变量或者方法。在某些情况下,程序员可能有以下需求:

a、当不希望父类的某个方法被子类覆盖(override)时,可以用final关键字修饰。

b、当不希望类的某个变量的值被修改,可以用final修饰。如果一个变量是final,则必须赋初值,否则编译出错。

c、当不希望类被继承时,可以用final修饰

//final方法的使用[Demo128.java]public class Demo128 {    public static void main(String[] args) {        Aaa aaa=new Aaa();        aaa.show();        Bbb bbb=new Bbb();        bbb.show();    }}class Aaa{     int a=0;//如果a不赋初值,a是0。定义类型后应赋值    //圆周率不让修改    //带有final修饰的变量命名时应有_下划线来区分表示。这是java程序员的标准。    final float reate_1=3.1415926f;//使用final可以保证,需要强制不被修改的数据一定要用final锁定    //final int b;  //使用final定义变量时一定要赋初值否则报错。    //b=1;    final public void sendMes(){//给成员方法用final来修饰则表示不可以被修改,不可被覆盖。        System.out.println("发送消息");    }    public void show(){        System.out.println("a="+a);    }}final class Bbb extends Aaa{//定义类前加final表示该类不允许被继承    public Bbb(){        a++;        //reate_1=reate+1;    }    /*public void sendMes(){        System.out.println("发送消息")    }*/}

final--注意事项

1、final修饰的变量又叫常量,一般用XX_XX_XX来命名。(带下划线)

2、final修饰的变量在定义时,必须赋值,并且以后不能再赋值。

final--什么时候用

1、因为案例的考虑,类的某个方法不允许修改。

2、类不会被其它的类继承。

3、某些变量值是固定不变的,比如圆周率3.1415926