• java final关键字


    一、种类

    1、类

    2、方法

    3、局部变量

    4、成员变量

    二、类

    1、作用

    将该类变成最终类,不能被继承(太监类)

    注意:该类的方法不能被overrider

    2、语法

    修饰符 final class 类名{}

    3、例子

    1 package cn.wt.day11;
    2 
    3 public final class Person {
    4 
    5     public void show(){
    6         System.out.println("我是一个人");
    7     }
    8 }
    Person.java
    1 package cn.wt.day11;
    2 // 继承报错
    3 public class Student extends Person {
    4 }
    Student.java

    三、方法

    1、作用

    将该方法变成最终方法,不可以被overrider

    2、语法

    修饰符 final 返回值类型 方法名称(参数列表){
       方法体  
    }

    3、注意

    final和abstract不能共存。原因:final不能overrider,而abstract一定要overrider

    4、例子

    1 package cn.wt.day11;
    2 
    3 public class Person {
    4 
    5     public final void show(){
    6         System.out.println("我是一个人");
    7     }
    8 }
    Person.java
    1 package cn.wt.day11;
    2 
    3 public class Student extends Person {
    4     // override 报错
    5     @Override
    6     public void show() {
    7 
    8     }
    9 }
    Student.java

    四、局部变量

    1、分类

    基本数据类型:变量的值不变

    引用数据类型:变量的储存地址不变

    2、语法

    final 基本数据类型 变量名 = 值;
    final 引用数据类型 对象名称 = new 引用数据类型()

    3、例子

    基本数据类型

    package cn.wt.day11;
    
    public class Demon {
        public static void main(String[] args) {
            final int num = 10;
            // 基本数据类型赋值报错
            num = 30;
        }
    }

    引用数据类型

    package cn.wt.day11;
    
    public class Demon {
        public static void main(String[] args) {
            final Person person = new Person("黄蓉");
            System.out.println(person);
            System.out.println(person.getName());
            person.setName("郭靖");
            System.out.println(person);
            System.out.println(person.getName());
        }
    }

    五、成员变量

    1、注意

    成员变量一定要赋值,原因:成员变量有默认值,若不复制的话,使用final后,变量的值就无法改变,那么这个变量就没原因

    2、语法

    修饰词 final 变量名称 = 值;

    注意:也可以通过构造方法赋值,但不常用

  • 相关阅读:
    Hibernate事务代码规范写法
    关于hibernate插入数据时的乱码问题
    搭建hibernate环境(重点)
    接口测试概念以及用postman进行接口测试
    Atom编辑器之加快React开发的插件汇总
    如何搭建git服务器
    phpstorm 配置 xdebug调试工具
    linux 获取指定行范围文本内容
    odoo 创建一个qweb
    linux nohup 使用
  • 原文地址:https://www.cnblogs.com/wt7018/p/12232454.html
Copyright © 2020-2023  润新知