zoukankan      html  css  js  c++  java
  • final关键字

    final关键字

        防止更改API当中的类,所以有final关健字,用于修饰不可改变的内容

      3.1修饰类格式

    public final class 类名{
           //类信息 
    }
    
    String,Math,Scanner等API类都是被final修饰的,目的是让我们仅仅使用,而不能修改

      3.2修饰方法

    修饰符  final   返回值类型   方法名(参数列表){
            //方法体内容....
    }
    
    不能重写final修饰的方法,编译无法通过

      3.3修饰变量

        3.31局部变量--基本类型

    复制代码
    基本类型的局部变量,被final修饰后,只能赋值一次,不能被更改。
    复制代码
    public class Demo {
      public static void main(String[] args){
            //声明局部变量
             final  int   num;
            //第一次赋值
             num = 10;  
            //第二次赋值
             num  = 20;//编译报错
    }  
    }
    复制代码
    复制代码

        3.32局部变量--引用类型

    复制代码
    引用类型的局部变量被final修饰后,只能指向一个对象,地址值不能发生改变,但是不影响对象内部的成员变量的修改。(set修改)
    复制代码
    public class FinalDemo2 {
        public static void main(String[] args) {
            // 构建一个对象
            final   People  p1 = new People();
            p1 = new People();// 报错,编译无法通过
            // 调用setName()方法
            p1.setName("小王");// 可以修改
        }
    }
    复制代码
    复制代码

        3.33成员变量

    复制代码
    成员变量涉及到【初始化】的问题,初始化方式有两种,二选其一:
    直接初始化:
    public class People {
        final String NAME = "小王";
         private int age;
    }
    复制代码
    构造方法初始化。
    public class People {
        final String NAME;
        private int age;
        public People(String name) {
            this.name = name;
        }
    }
    复制代码

    被final修饰的常量名称,一般都有书写规范,所有字母均为【大写】。

  • 相关阅读:
    columns布局应用场景
    flex速记
    css属性选择器模糊匹配
    ydui的rem适配方案
    vscode搜索失效问题
    ESP8266 超声波测距模块HC-SR04
    树莓派PICO Wifi 无线网卡 esp82666接线图
    查看数据库容量大小
    面试官问我JVM内存结构,我真的是
    深入浅出Java内存模型
  • 原文地址:https://www.cnblogs.com/rosiness/p/14062998.html
Copyright © 2011-2022 走看看