final关键字可以修饰类、变量(局部变量/全局变量) 、方法
final修饰类:不能被继承 ,通常项目中一些核心类 不能被继承;JDK中String类是final的
final修饰方法:不能被重写。
final修饰的变量:不能被修改,包括不能修改存储值和引用地址。
final修饰的是全局变量,一定要初始化
public static void main(String[] args) { final int i = 3; i = 3; //错误的 final Person p = new Person(); p = null; //错误 p = new Person(); //错误 p.name = "a"; //正确的 p.name = "b"; //正确 } public void test(final int i) { i = 3; //错误 }
final修饰的属性,初始化:
public class Person extends Animal{ String name; final int age ;//先定义 public Person() { age = 20; //后赋值 } public Person(String name) { age = 30; } }
或
public class Person extends Animal{ String name; final int age = 20;//定义并赋值,不能被修改 public Person() { } public Person(String name) { } }
或
public class Person extends Animal{ String name; final int age ; //先定义 { age = 20; //在游离块中赋值 } public Person() { } public Person(String name) { } }
在类中的属性如果是常量, 用public static final修饰
//常量类 public class Constant { public static final String IP = "192.168.1.1"; public static final int PORT = 80; public static final double PI = 3.1415926; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)