final修饰符的三种使用场景】的更多相关文章

final有三种使用场景,各自是修饰变量.方法和类.不管哪种修饰.一旦声明为final类型.你将不能改变这个引用了,编译器会检查代码,假设你试图再次初始化,编译器会报错.以下我来详细说说每一种修饰场景. 1.修饰变量 当final修饰一个变量的时候一般把他作为常量.通常和statickeyword配合使用. 比如: private static final String ISSUCCESS_FLAG = "true";一般static修饰的常量都用大写字母来表示. 在这里我写一段代码:…
一.开篇 本博客来自:http://www.cnblogs.com/yuananyun/ final修饰符是Java中比较简单常用的修饰符,同时也是一个被"误解"较多的修饰符.对很多Java程序员来说,他们大都只是草草看了一下各种书本上的介绍,然后背下来,什么时候想起 来有这东西就用一下.对于何时使用final修饰符.使用final修饰符对程序有什么影响,这些其实他们并不知道,当然在这篇文章之前,我也是一知半解的. 我们书本上对final的描述大概有三种用法: final可以修饰变量,…
知识点: 1.final关键字用于修饰类.变量和方法 2.有点类似C#里的 sealed 关键字,用于表示它修饰的方法.变量和类不可以再被改变 3.final修饰变量时,表示该变量一旦获取了初始值,就不可以再被改变 4.final可以修饰成员变量(包括类变量.实例变量),也可修饰局部变量.形参 5.有的书上说final修饰的变量不能被赋值,这是错误的,严格的说,fanal修饰的变量,一旦被赋值就不可再次赋值改变 6.因为final修饰的变量赋值后不可再被改变,所以final修饰的成员变量和局部变…
1.final修饰符的用法: final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值. final可以修饰方法,被final修饰的方法不能被重写. final可以修饰类,被final修饰的类不能够被继承. 上面的这些“语法口诀”对真正掌握final修饰符的用法依然是不够的. 2.final修饰的变量:被final修饰的实例变量必须显示指定初始值,而且只能在如下三个位置指定初始值: 定义final实例变量时指定初始值. 在非静态初始化块中为final实例变量指定初始值. 在…
一.final 修饰变量,被final修饰的变量在被赋初始值之后,不能对它重新赋值 修饰实例变量,必须显示指定初始值,可以在三个位置指定初始值:         1.定义final实例变量时指定初始值         2.在非静态初始化块中为final变量指定初始值         3.在构造器中为final实例变量指定初始值     对于final实例变量,这三种方式都会被抽取到构造器中赋初始值   修饰类变量,同样必须显示指定初始值,可以在两个位置指定初始值:         1.定义类变量…
static和final修饰符 一.static修饰符 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的stati…
在Java中修饰符总共有一下几种: 1.访问控制修饰符    分别有:public private protected,缺省 2.其它修饰符      分别有:abstract,final,static,native,synchronized,transient,volatile等 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误.但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改. 不过一般情况下,一个方法的形参不用final修饰.只有在特殊情况下,那就是:方…
java修饰符分类修饰符字段修饰符方法修饰符根据功能同主要分下几种 1.权限访问修饰符 public,protected,default,private,四种级别修饰符都用来修饰类.方法和字段 包外 子类 包内 类内 public yes yes yes yes protected no yes yes yes default no no yes yes private no no no yes 2.final修饰符 final意思变修饰类.字段.方法修饰类类能被扩展(extends)也能被继承…
在Java类里只能包含成员变量.方法.构造器.初始化块.内部类(包括接口.枚举)5种成员,类成员是用static来修饰的,其属于整个类. 当使用实例来访问类成员时,实际上依然是委托给该类来访问类成员,因此即使某个实例为null,它也可以访问它所属类的类成员. public class NullAcessStatic { public static void test() { System.out.println("static修饰的类方法"); } public static void…
Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.newarray.anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放.堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要在运行时动态分配内存,存取速度较慢. 栈的优势是…