java学习day09--面向对象--final关键字

final关键字

概念

  1、 是java提供的一个关键字

  2、 final是最终的意思

  3、 final可以修饰类,方法,成员变量

  初衷是因为:java出现了继承后,子类可以更改父类的功能,当父类功能不许子类改变时可以利用final关键字修饰父类。

特点

  1、 被final修饰的类,不能被继承

  2、 被final修饰的方法,不能被重写

  3、 被final修饰的变量是个常量,值不能被更改

  4、 常量的定义形式: final 数据类型 常量名 = 值

  5、常量名一般都是大写的。为了外界方便调用,通常也会被static修饰。

案例

package cn.tedu.finaldemo;
        //这个类用来测试   final关键字
        public class Test1_Final {
            public static void main(String[] args) {
                Erzi erzi = new Erzi();
        //        erzi.name = "赵" ;    //3.1、报错,已经被final了,值不能改,只能用用!!!
                System.out.println(erzi.NAME);
                System.out.println( BaBa.NAME );
            }
        }
        //创建父类
        //final class BaBa{//1、父类被final修饰后,变成了最终的类,不能被继承。The type Erzi cannot subclass the final class BaBa
        class BaBa{
            //2、当变量被final修饰后,就成了常量。值不能被修改。The final field BaBa.name cannot be assigned
            //4、常量名一般都是大写的。为了外界方便调用,通常也会被static修饰。
            static final String NAME = "刘" ;
            //3、当方法被final修饰后,就成了最终方法,不能被重写。Cannot override the final method from BaBa
            final public void study() {
                System.out.println("赚钱养家");
            }
        }
        //创建子类
        class Erzi extends BaBa{
            //方法重写:方法声明和父类一模一样
        //    public void study() {
        //        System.out.println("热爱java");
        //    }
        }
原文地址:https://www.cnblogs.com/liqbk/p/12878569.html