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的更多相关文章

  1. java基础---->final关键字的使用

    这里介绍一些java基础关于final的使用,文字说明部分摘自java语言规范.心甘情愿这四个字,透着一股卑微,但也有藏不住的勇敢. Final关键字的说明 一.关于final变量规范说明 .A fi ...

  2. Java基础 -- final关键字

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final ...

  3. JAVA 基础--final 关键字的用法

    在java中,final的含义在不同的场景下有细微的差别,in a word,它指的是“不可变的” 1.修饰数据.这里的可以看到被final修饰的变量,值不能被改变,但是 package FinalT ...

  4. Java 基础 - final vs static

    总结 共同点,都可以修饰类,方法,属性.而不同点: static 含义:表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问 static 方法:只能被static方法覆盖 ...

  5. Java基础-final和static的区别

    很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变.看下面这个例子: public class Test { ...

  6. Java基础-final变量和普通变量的区别

    当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再 ...

  7. java基础-008

     57.面向对象软件开发的优点 代码开发模块化,更易于维护 代码复用 增强代码的可靠性和灵活性 增强代码的可理解性 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象  58.封装 封装给对象 ...

  8. java基础 final 修饰成员变量 只能赋值一次问题

    final int a; public Fu(){ a=1; }

  9. Java基础——final、static关键字

    final关键字是最终的意思,可以修饰成员方法.成员变量.类 特点: 1.修饰方法:表示该方法是最终方法,不能被重写 2.修饰变量:表示变量是常量,不能再次被赋值 3.修饰类:表示类是最终类,不能被继 ...

  10. java基础-final

随机推荐

  1. 【BZOJ3197】[SDOI2013]刺客信条

    [BZOJ3197][SDOI2013]刺客信条 题面 bzoj 洛谷 题解 关于树的同构,有一个非常好的性质: 把树的重心抠出来,那么会出现两种情况: 1.有一个重心,那么我们直接把这个重心作为树的 ...

  2. 【linux报错】-bash: xhost: command not found

    参考自:http://blog.csdn.net/csdnones/article/details/51513163,感谢原作者解决了我的问题. 执行xhost +,报以下错误,原因是因未没有安装相关 ...

  3. python的rtree包缺失libspatiaindex.so

    1 准备autoconf工具 yum -y install autoconf automake libtool 2 准备g++编译器 yum -y install gcc gcc-c++ 3 下载并安 ...

  4. 搜索引擎ElasticSearch系列(五): ElasticSearch2.4.4 IK中文分词器插件安装

    一:IK分词器简介  IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源 ...

  5. selenium webdriver API详解(二)

    本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:获取当前页面的title(一般获取title用于断言) from s ...

  6. InTelliJ 字体调整

    Java IDE 工具InTelliJ 调整字体大小 1.File -> Settings 2.左上的搜索框中输入 font. 等待自动查找结果. 3.修改size 大小

  7. mybatis 加载配置文件的方法

    一.  使用sqlSessionFactory 的 mapperLocations 进行加载 <!-- SessionFactory --> <bean id="sqlSe ...

  8. c字符数组里的中文

    char *p ="你abc"; strlen(p); //6 utf-8编码中

  9. 高可用Kubernetes集群-2. ca证书与秘钥

    四.CA证书与秘钥 kubernetes集群安全访问有两种方式:"基于CA签名的双向数字证书认证"与"基于BASE或TOKEN的简单认证",生产环境推荐使用&q ...

  10. java之接口开发-初级篇-socket通信

    socket通信实现util包类实现 public class SocketThread extends Thread { public void run() { while (true) { // ...