zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    codeforces 652B z-sort(思维)
    poj 3268 Silver Cow Party(最短路)
    POJ 2243:Knight Moves(BFS)
    POJ 1107:W's Cipher(模拟)
    POJ 1008 Maya Calendar(模拟)
    Hdu3436-Queue-jumpers(伸展树)
    主席树的另一种写法
    Hdu5785-Interesting(回文串处理)
    Hdu5008-Boring String Problem(后缀数组)
    RMQ模板
  • 原文地址:https://www.cnblogs.com/Davis812/p/3921540.html
Copyright © 2011-2022 走看看