一、final赋值

final 修饰一个变量,有很多种说法,比如不能改变等等

准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会

二、在声明的时候赋值

i已经被赋值为5,所以这里再次赋值会出现编译错误

public class HelloWorld {

public
void method1() {

final
int i = 5;

i = 10; //i已经被赋值为5,所以这里再次赋值会出现编译错误

}

}

三、在声明的时候没有赋值

如果变量在声明的时候被final修饰且未赋值,那么可以在后面代码中对变量进行唯一的一次赋值。

public class HelloWorld {

public
void method1() {

final
int i;

i = 10; //i在第3行,只是被声明,但是没有被赋值,所以在这里可以进行第一次赋值

i = 11; //i在第4行已经被赋值为10,所以这里再次赋值会出现编译错误

}

}

四、final修饰其他

final 除了修饰变量,还可以修饰类修饰方法

五、练习及答案

题目:

如果final修饰的是参数,能否在方法里给这个参数赋值?

public class HelloWorld {

public
void method1(final
int j) {

j = 5; //这个能否执行?

}

}

官方答案:

不能,因为在调用方法的时候,就一定会第一次赋值了,后面不能再进行多次赋值

个人整理答案:

Java知识系统回顾整理01基础03变量07final关键字的更多相关文章

  1. Java知识系统回顾整理01基础03变量03字面值

    一.字面值定义 创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象.  给基本类型的变量赋值的 ...

  2. Java知识系统回顾整理01基础03变量02基本变量类型

    一.变量类型分类 一个变量的类型,决定了该变量可以包含什么样的值. Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字. 这八种基本类型分别是:  整型 (4种) 字符型 (1种) ...

  3. Java知识系统回顾整理01基础03变量06变量的作用域

    一.变量根据所处的位置对应不同的名称 变量处于不同的位置,有不同的名称 名称分别是  字段,属性 参数 局部变量 不同名称的变量,其作用域是不一样的 二.字段,属性,Field 当一个变量被声明在类下 ...

  4. Java知识系统回顾整理01基础03变量05变量命名规则

    一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...

  5. Java知识系统回顾整理01基础03变量04类型转换

    一.不同类型之间的数据可以互相转换,但是要满足一定的规则 二.数据类型转换规则 转换规则如图所示  精度高的数据类型就像容量大的杯子,可以放更大的数据 精度低的数据类型就像容量小的杯子,只能放更小的数 ...

  6. Java知识系统回顾整理01基础03变量01变量定义

    定义: 变量:用来命名一个数据的标识符 一.什么是变量? 用具体实例定义变量 变量的定义是: 用来命名一个数据的标识符 1949 这是一个数字,代表某年 如果要命名这个数字,在java里就会写成: i ...

  7. Java知识系统回顾整理01基础03变量09块

    一.定义 块:从{ 开始 到对应的} 结束,即一个块 public class HelloWorld { //类对应的块 public static void main(String[] args) ...

  8. Java知识系统回顾整理01基础03变量08表达式

    一.以 ; 结尾的一段代码,即为一个表达式 表达式是由变量.操作符以及方法调用所构成的结构.如下所示: int i = 5; System.out.println(5); 都是表达式 public c ...

  9. Java知识系统回顾整理01基础02面向对象03方法

    一.根据实例给出"方法"的定义 在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友 能做什么在类里面就叫做方法 比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉. ...

随机推荐

  1. 架构设计 | 基于电商交易流程,图解TCC事务分段提交

    本文源码:GitHub·点这里 || GitEE·点这里 一.场景案例简介 1.场景描述 分布式事务在业务系统中是十分常见的,最经典的场景就是电商架构中的交易业务,如图: 客户端通过请求订单服务,执行 ...

  2. 攻防世界——web新手练习区解题总结<2>(5-8题)

    第五题cookie: 所需工具:burpsuite(需自行下载) 老规矩看完题,先获取在线场景,得到如下网页 那么什么是cookie呢?大体上就是网站为了识别用户身份而储存在用户本地终端上的数据,类型 ...

  3. react native 常用学习或查资料网址

    react-native facebook官网:http://facebook.github.io/react-native/中文网:http://reactnative.cn/ react 官网地址 ...

  4. tokitsukaze and RPG(暴力优化)

    链接:https://ac.nowcoder.com/acm/contest/308/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  5. ORA-01033错误解决方案-九五小庞

    Microsoft Windows [版本 6.3.9600](c) 2013 Microsoft Corporation.保留所有权利. C:\Users\Administrator>sqlp ...

  6. java基础(swing+jsp+mybatis配置)

    JAVA SE GUI编程(swing) # 组件 描述 1 JFrame 一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器) 2 JDialog 对话框 常用的中间 ...

  7. Agumaster 增加股票表台账页面

  8. if __name__ == ‘__main__‘

    if __name__ == '__main__': def_test() 作为程序的入口,当函数被调用时会从此处开始运行 如被导入的模块内没写 if __name__ == '__main__',则 ...

  9. .NET Core表达式树的梳理

    最近要重写公司自己开发的ORM框架:其中有一部分就是查询的动态表达式:于是对这方面的东西做了一个简单的梳理 官网的解释: 表达式树以树形数据结构表示代码,其中每一个节点都是一种表达式,比如方法调用和  ...

  10. windows和linux开启防火墙时允许特定IP和端口

    windows 1.进入高级安全Windows Defender防火墙,新建规则中选择自定义 2.直接下一步 3.设置协议类型.本地端口选择和端口号 4.设置允许哪些IP访问这个端口,不设置则默认任何 ...