java中final关键字的使用
1 :在java中final可以修饰类,方法,变量(包括成员变量和局部变量)
- 第一点:修饰类 特点:修饰的类不能被继承而且成员变量也是可以根据自己需要设置fianl
- 但final类中的所有成员方法都会被隐式地指定为final方法(不是特殊要求尽量不要加final关键字在类上)
- final 类不能被继承,没有类能够继承 final 类的任何特性。。
-
fianl class test{ }
- 第二点:fianl在方法上 特点:把方法锁定,以防任何继承类修改它的含义(如果禁止该方法在子类中被覆盖的情况下才将方法设置为final的,就可以使用fianl关键字来修饰。)
-
public final void a(){ System.out.println("如果禁止该方法在子类中被覆盖的情况下才将方法设置为final的)\n" + "就是父类的final方法是不能被子类所覆盖的,也就是说子类是不能够存在和父类一模一样的方法的。就可以使用fianl关键字来修饰"); }
- 第三点:修饰变量 特点: 当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;
final String zhi=“这个值被fianl修饰就不能再改变”;
- 如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
- 因为fianl修饰的引用类型 它可以改变里面的内容 因为fianl修饰是指向它的地址 只要他的地址不改变。
-
public class Time { public static void main(String[] args) { final Test1 test = new Test1(); System.out.println(--test.i); } } class Test1 { public int i = 100; }