一、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. oracle读取ip_num用uint32_t接收,出错及解决

    start_ip_num = rset->getNumber(1); end_ip_num = rset->getNumber(2);2988 info_log("GetIpLi ...

  2. mysql 8.0.11安装教程

    安装环境:win7 1. 下载安装包 下载地址:https://dev.mysql.com/downloads/file/?id=476233 2. 解压zip包 3. 初始化my.ini 创建my. ...

  3. Timeline Event

    https://forum.unity.com/threads/timeline-events.479400/

  4. Codeforces 1321D Navigation System

    题意 有个人要从\(s\)走到\(t\),经过的路径给定.导航系统每次会显示当前节点到\(t\)的最短路,有多条就显示其中之一.这个人如果按照导航走,那么啥都没变.如果没有按导航走导航就会重新导航.问 ...

  5. 2020年1月31日 安装Python的BeautifulSoap库记录

    C:\Users\ufo>pip install beautifulsoup4 Collecting beautifulsoup4 WARNING: Retrying (Retry(total= ...

  6. 基于arm v8搭建区块链环境

    服务器信息: cpu:华为鲲鹏 cpu架构:arm v8 系统:CenOS-AltArch 7.6 相关工具安装 yum更新 yum update 安装vim/gcc/git/curl工具软件 yum ...

  7. netty如何进行单元测试

    一种特殊的Channel 实现——EmbeddedChannel,它是Netty 专门为改进针对ChannelHandler 的单元测试而提供的. 将入站数据或者出站数据写入到EmbeddedChan ...

  8. Table内部实现2

    这一节介绍Lua唯一的数据结构table,相对于大部分语言提供数组和字典两种类型,Lua将其合二为一,颇为精巧的实现了table. table充分体现了Lua语言的特点,用最简练的语法表达丰富的信息, ...

  9. iOS面试关于http知识点basic-01-http

    URL URL 的全称是 Uniform Resource Locator(统一资源定位符) 通过 1 个 URL,能找到互联网上唯一的 1 个资源 URL就是资源的地址.位置,互联网上的每个资源都有 ...

  10. 接口、RESTful规范、DRF

    接口 #接口:url连接,通过向链接发送不同的类型请求与参数得到相应的响应数据 #1.在视图书写处理请求的 视图函数 #2.在路由层为视图函数配置 url链接=>产生接口 #3.前台通过ajax ...