• Java中的final关键字


    • 关于final关键字
      1、final是一个关键字,表示最终的,不可变的;
      2、final修饰的类无法被继承;
      3、final修饰的方法无法被覆盖;
      4、final修饰的变量一旦赋值之后,不可重新赋值;
      5、final修饰的实例变量必须手动腻值,不能采用系统默认值;
      6、final修饰的引用一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收;
      7、final修饰的引用虽然指向某个对象之后不能指向其它对象,但是所指向的对象内部的内存是可以被修改的;
      8、final修饰的实例变量一般和static联合使用,被称为"常量"。
    • 关于myeclipse怎么链接源码?
      打开某个.class字节码文件,当没有看到源码的时候:
      点击"Attached Source":
      workspace.. 【源码在当前的工作区当中】
      External File.. 【源码在某个压缩包当中】
      External Folder.. 【源码在某个目录当中】
    • 以后尽量所有的程序都链接源码,没有源码从网上找,或者跟老师要源码。养成看源代码的好习惯。
    • 对于以后所学习的类库,一般都是包括三个部分:
      源码【理解程序】
      字节码【程序开发中使用的就是这部分】
      帮助文档【对开发提供帮助】
      (注意使用时版本要统一)
    • final修饰的实例变量必须手动腻值
      1、成员变量之实例变量;
      实例变量有默认值+ final修饰的变量一旦赋值不能重新赋值;
      综合考虑,,java语言最终规定实例变量使用final修饰之后,必须手动腻值,不能采用系统默认值。
    final int age; //编译错误
    

    2、
    第一种解决方案

    final int age = 10;
    

    第二种解决方案

    final int num;
    public FinalTest02 (){
    this.num =200;
    }
    

        final int age;
        public Demo(int age) {
            this.age = age;
        }
    

    以上的两种解决方案:其实本质上就是一种方式,都是在构造方法执行过程当中给实例变量赋值。
    3、例子

    public class Demo{
        final int age;
    
        public Demo(int age) {
            this.age = age;
        }
    
        public static void main(String[] args){
            Demo d = new Demo(10);
            System.out.println(d.age);
            
            Demo q = new Demo(20);
            System.out.println(q.age);
        }
    
    }
    
    • final修饰的引用
    public class Demo{
        int id;
        public Demo(int id) {
            super();
            this.id = id;
        }
        public static void main(String[] args){
            //创建用户对象
            User u = new User (100);
            u = new User (200);/*又创建了一个新的
            User对象程序执行到此处表示以上对象已变成
            垃圾数据,等待垃圾回收器的回收。*/
            
            //创建用户对象
            final User user = new User (30);
            //user = new User (50);
            /*final修饰的引用一旦指向某个对象之后,
            不能再指向其它对象,那么被指向的对象无
            法被垃圾回收器回收。*/
            user.id=50;/*final修饰的引用虽然指向
            某个对象之后不能指向其它对象,但是所指向
            的对象内部的内存是可以被修改的。*/
        }
    
    }
    
    • 常量
      1、需求:每一个中国人的国籍都是中国,而且国籍不会发生改变,为了防止国籍被修改,建议加final修饰。
      2、final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为"常量"
      3、常量的定义语法格式:
      public static final 类型 常量名 = 值;
      4、java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接:
      public static final string GUO_JI = "中国";
  • 相关阅读:
    付宇泽20190912-1 每周例行报告
    付宇泽20190912-3 词频统计
    付宇泽20190912-2 命令行
    付宇泽20190905-1 每周例行报告
    付宇泽20190905-2 博客作业
    付宇泽20190905-3 命令行和控制台编程
    罗杨美慧 20190905-3 命令行和控制台编程
    【Linux运维】Centos7上借助ansible搭建LVS+Keepalived
    【shell 练习1】编写Shell条件句练习
    【第四章】Shell 条件测试表达式
  • 原文地址:https://www.cnblogs.com/yu011/p/12632636.html
Copyright © 2020-2023  润新知