java 基础 --final--008
finally:被finally控制的语句一定会执行,但是如果执行之前jvm退出了,就不会执行了。比如System.exit(0);
final:常见的可以修饰类(该类不能被继承)
方法(方法不能被重写)
变量(该变量不能被重新赋值,该变量其实就是常量) 常量:A:字面值常量,比如“hello”、10、true
B:自定义常量,比如 final int x = 10; 1, final修饰基本类型,是值不能改变
final修饰引用类型,是地址值不能改变
举例:
class Student{
int age = 10;
}
class FinalTest{
public static void main(String[] args){
final int x = 10;
x = 100; //报错 ,无法为最终变量x 分配值
System.out.println(x); final Student ss = new Student();
ss.age = 100;
System.out.println(ss.age) //OK,100 // 重新分配内存空间
ss = new Student();//报错,无法重新分配值
}
} 2, final 修饰变量的初始化时机
A:被final修饰的变量只能赋值一次
B:在构造方法执行完毕前(非静态的常量)
举例:
class Demo{
final int x = 10;
{final int y = 10;}
final int z;
public Demo(){
x = 100; // 报错,
y = 100; // 报错,构造代码块优先于构造方法
z = 100; // 不报错,因为一开始只是声明,没有赋值
}
}
java 基础 --final--008的更多相关文章
- java基础---->final关键字的使用
这里介绍一些java基础关于final的使用,文字说明部分摘自java语言规范.心甘情愿这四个字,透着一股卑微,但也有藏不住的勇敢. Final关键字的说明 一.关于final变量规范说明 .A fi ...
- Java基础 -- final关键字
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final ...
- JAVA 基础--final 关键字的用法
在java中,final的含义在不同的场景下有细微的差别,in a word,它指的是“不可变的” 1.修饰数据.这里的可以看到被final修饰的变量,值不能被改变,但是 package FinalT ...
- Java 基础 - final vs static
总结 共同点,都可以修饰类,方法,属性.而不同点: static 含义:表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问 static 方法:只能被static方法覆盖 ...
- Java基础-final和static的区别
很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变.看下面这个例子: public class Test { ...
- Java基础-final变量和普通变量的区别
当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再 ...
- java基础-008
57.面向对象软件开发的优点 代码开发模块化,更易于维护 代码复用 增强代码的可靠性和灵活性 增强代码的可理解性 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象 58.封装 封装给对象 ...
- java基础 final 修饰成员变量 只能赋值一次问题
final int a; public Fu(){ a=1; }
- Java基础——final、static关键字
final关键字是最终的意思,可以修饰成员方法.成员变量.类 特点: 1.修饰方法:表示该方法是最终方法,不能被重写 2.修饰变量:表示变量是常量,不能再次被赋值 3.修饰类:表示类是最终类,不能被继 ...
- java基础-final
随机推荐
- Android接口与架构(驱动开发)翻译官方文档
Android接口与架构 Android在设备的规格与驱动方面给了你很大的自由来实现.HAL层提供了一个标准的方式来打通Android系统层与硬件层.Android系统是开源的,所以你能够在接口和性能 ...
- cygwin下安装NCL
1.安装cygwin 到cygwin官网https://www.cygwin.com/下载安装程序,setup-x86.exe,注意能下载这个安装程序, setup-x86_64.exe64位不支 ...
- 20155204 实验3《敏捷开发与XP实践》实验报告
20155204 实验3<敏捷开发与XP实践>实验报告 一.实验内容与步骤 1.研究IDEA的code菜单. 老师给的任务的是把一串代码格式化,这个任务很简单.code菜单主要是关于编辑代 ...
- svn 冲突处理
C:\workspace\test>svn upConflict discovered in 'test.txt'.Select: (p) postpone, (df) diff-full, ( ...
- [css 揭秘] :CSS揭秘 技巧(五):条纹背景
条纹背景 https://github.com/FannieGirl/ifannie/问题:条纹背景 在设觉设计中无处不在,我们真的可以用css 创建图案吗? 这一章相对还是比较复杂的哦!一起get. ...
- 【MYSQL备份】利用mysqldump将一个数据库复制到另一个数据库
假设要将服务器A上的数据库test备份到服务器B 1.在服务器B上新建数据库cp_test mysql> create database cp_test; Query OK, row affec ...
- 质造未来,首届腾讯WeTest技术交流开放日成功举办
WeTest 导读 北京时间12月21日下午1点整,2018年度腾讯WeTest技术交流开放日在上海举办.盛大.巨人.电魂.bilibili.方趣等十余家来自不同优秀企业的测试技术负责人均来到现场,共 ...
- 身份证扫描识别/身份证OCR识别的正确姿势,你get到了吗?
自从国家规定电信实名制之后,实名制已经推广到各个领域:办理通信业务需要实名制.银行开户需要实名制.移动支付需要实名制,就连注册个自媒体账户都需要实名制. 而实名制的背后,就是身份证信息的采集和录入验证 ...
- php常用的几个预定义变量
__FILE__:返回所在路径文件名和文件名称 __DIR__:返回文件所在的完整目录 __LINE__:返回当前文件代码的行号 __CLASS__:返回当前类名 __FUNCTION__:返回当前方 ...
- 1.5 JAVA的高并发编程
一.多线程的基本知识 1.1进程与线程的介绍(上个博客1.4中已经详细介绍进程和线程) 程序运行时在内存中分配自己独立的运行空间,就是进程 线程:它是位于进程中,负责当前进程中的某个具备独立运行资格的 ...