zoukankan      html  css  js  c++  java
  • java8-1 final

    1、
    final可以修饰类,方法,变量

    特点:
    final可以修饰类,该类不能被继承。
    final可以修饰方法,该方法不能被重写。(覆盖,复写)
    final可以修饰变量,该变量不能被重新赋值。因为这个变量其实常量。

    常量:
    A:字面值常量
    "hello",10,true
    B:自定义常量
    final int x = 10;

    2、面试题:final修饰局部变量的问题
    基本类型:基本类型的值不能发生改变。
    引用类型:引用类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的。

     1 class age{
     2 int age = 10;
     3 }
     4 
     5 
     6 class FinalTest2 {
     7 public static void main(String[] args) {
     8 final age num = new age();
     9 System.out.println(num.age);
    10 
    11 num.age = (20); //这里改变的只是age这个地址里面的元素,而age的地制值没有改变,也无法改变
    12 System.out.println(num.age);
    13 
    14 //num = new age(); 这个是重新给age分配地址值,而final修饰了age,所以错误。
    15 }
    16 
    17 }


    3、inal修饰变量的初始化时机
    A:被final修饰的变量只能赋值一次。
    B:在构造方法完毕前。(非静态的常量) 静态时,设置变量时直接赋值
    例子:

     1 class Demo {
     2 //int num = 10;
     3 //final int num2 = 20;
     4 
     5 int num;
     6 final int num2;
     7 
     8 {
     9 //num2 = 10;
    10 }
    11 
    12 public Demo() {
    13 num = 100;
    14 //无法为最终变量num2分配值
    15 num2 = 200;
    16 }
    17 }
    18 
    19 class FinalTest2 {
    20 public static void main(String[] args) {
    21 Demo d = new Demo();
    22 System.out.println(d.num);
    23 System.out.println(d.num2);
    24 }
    25 }
    26 
    27  
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    快速设置Scrapy随机的IP代理
    快速设置随机的UserAgent
    windows安装flask并创建虚拟环境
    数电和模电比较
    程序员如何写出一份好的文档?
    Qt简介
    基于 Qt的聊天工具
    如何将word组合图形保存成png
    2015电赛点滴
    函数定义
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5858785.html
Copyright © 2011-2022 走看看