每日面试三题-day02

8 篇文章 0 订阅
5 篇文章 0 订阅

简述final作用

增加final修饰符就表示这个类、方法、变量是最终的不可被改变的

  • 修饰类:表示类不可被继承
  • 修饰方法:表示方法不可被子类覆盖,但是可以重
  • 载修饰变量:表示变量一旦被赋值就不可以更改它的值

(1) 修饰成员变量

  • 如何final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初始值
  • 如果final修饰的是成员变量,可以在非静态初始化块、声明该变量或者构造器中执行初始值。

(2)修饰局部变量

系统不会局部变量进行初始化,局部变量必须由程序员显示初始化,因此使用final修饰局部变量时,既可以在定义时指定默认值(后面的代码不能对变量),也可以不指定默认值,而在后面的代码中对final变量赋初始值(仅一次)

public class FinalVal{
    final static int a = 0;//将声明的时候就需要赋值 或者静态代码块赋值
    static{
        a = 0;
    }
    final int b = 0;//再声明的时候就需要赋值 或代码块中赋值 或者构造器赋值
    {
        b=0;
    }
    public static void main(String[] args){
        final int localA;//局部变量只声明没有初始化,不会报错,与final无关
        localA = 0;//在使用之前一定要赋值
        //localA = 1;//但是不允许第二次赋值
    }
    
}

(3) 修饰基本数据类型数据与引用类型数据

  • 如果是基本数据类型的变量,则其数据一旦在初始化之后不能更改;
  • 如果是引用类型的变量,则在对其初始化之后便不能再让其指向另外一个对象(也就是地址值不能进行改变)。但是引用的值可以变。典型案例就是数组
    在这里插入图片描述

为什么局部类和匿名内部类只能访问局部final

  1. 首相编写局部内部类的时候局部内部类会生成自己的class文件 如Test.class Test1.class
  2. 当外部类销毁的时候,局部内部类依然存在但是外部,当时内部类引用了外部类的变量,但是外部类销毁后内部类无法获取到变量,JDk会在对外部类的变量进行克隆到内部类一份,为了保证一致所以对外部类的变量必须使用final修饰来保证一致性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值