• JavaSE-final关键字


    package com.btp.t2;
    /*
     * final:最终的。可以用来修饰类,属性和方法
     *1.final修饰类:如String,StringBuffer,System等
     *
     *2.final修饰方法:不能被重写
     *
     *3.final修饰属性:一个常量。一旦被赋值,就不能修改,而且不能隐式赋值,只能显示赋初值。
     *final修饰的变量表示此变量是“最后的、最终的”含义。一旦定义了final变量并在首次为其显示初始化后,final修饰的变量值不可被改变。
    
    
    这里需要注意以下几个问题:
    
    1. final修饰的变量,无论是类属性、对象属性、形参还是局部变量,这些变量都是需要进行显示初始化(即为其显示指定初始值)。
    
    对于final修饰的形参,由于是实参传递过来的,很好理解。
    
    对于final修饰的局部变量,与未用final修饰的变量一样,都是需要显示初始化。即局部变量都是需要显示初始化的。
    
    对于一般的类属性和对象属性,由类和对象的初始化过程中可以看出,首先都进行了默认初始化。然后对有显示赋值的变量才再进行显示初始化。
    
    但对final修饰的类属性和对象属性而言,如果不显示初始化,其默认将是进行默认初始化后的值,这与final本身出发点矛盾,因此,Java语法规定:
    
    final修饰的类属性和变量属性必须要进行显示初始化赋值。
    
    另外,无论对于基本数据类型还是引用数据类型,final修饰的变量都是首次显示初始化后值都不能修改。对于基本数据类型,很好理解。对于引用
    
    数据类型,引用变量指向的是实际的对象,但其存储的是所指向对象的地址,因此,其值不能修改并不意味着其所指向的对象不能修改。
     */
    public class TestFinal {
    
    }
    
    final class A
    {
    }
    
    class B
    {
    	public final void method1()
    	{}
    }
    
    class C extends B
    {
    	
    }
    

      

  • 相关阅读:
    事件回顾
    把时间花在经典上
    事件回顾
    硬件毛刺
    事件回顾
    cache支持三种pre-fetch方式:normal/pre-fetch1/pre-fetch2-way1/pre-fetch-way2
    cache支持single/increment/increment4三种方式传输
    计算机必读书籍
    那些让我们如此享受的慢性毒药(转载)
    平淡节制
  • 原文地址:https://www.cnblogs.com/a842297171/p/5151180.html
Copyright © 2020-2023  润新知