1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的,下面来看一个错误案例. eg: final class Penguin { } class SubPenguin extends Penguin { } 此时这段代码的class SubPenguin extends Penguin这行代码会报错: The type SubPenguin canno…
final修饰的引用变量一旦初始化赋值之后就不能再指向其他的对象,那么该引用变量指向的对象的内容可变吗?看下面这个例子: public class Test { public static void main(String[] args) { final MyClass myClass = new MyClass(); System.out.println(++myClass.i); } } class MyClass { public int i = 0; } 这段代码可以顺利编译通过并且有输…
final 关键字代表最终.不可改变的. 常见的四种用法 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部变量 可以用来修饰一个成员变量 1.当final关键字用来修饰一个类的时候,格式: public final class 类名称{ //... } 含义: 当前这个类不能有任何的子类.(太监类) 注意: 一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没有儿子). 2.当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写的…
package Pack1; import java.awt.*; import java.applet.*; class ca { static int n = 20; final int nn; // 声明nn,但没有赋初值 final int k = 40;// 声明k并赋初值40 ca() { nn = ++n; }// 在构造方法中给nn赋值 } public class c4_1 extends Applet { public void paint(Graphics g) { ca…
转自:http://java.chinaitlab.com/base/836044.html public class BB{ public int i; } public class PP{ public static void f(final BB ref) //我的理解是无法修改ref { ; } public static void main(String args[]){ BB x = new BB(); f(x); System.out.println(x.i); //但事实上是修改…