Java中final关键字

mac2022-06-30  20

final修饰的类无法被继承 final class A{ } class B extends A{ //B类不能成为终态类A的子类 } final修饰的方法无法被覆盖 class A{ public final void m1() { } class B extends A{ //不能覆盖A中的final方法 public void m1() { } } } final修饰的局部变量,一旦赋值,不可再改变 class A{ public void m1() { //声明 final int i; //第一次赋值 i=100; //第二次赋值 i=200;//不能重新赋值 } } final修饰的成员变量必须显式地初始化 class A{ final int i;//尚未初始化 }

应该为:

class A{ final int a=100; //或 final int k; A(){ k=200; } } final修饰的成员变量一般和static联用以节省内存 class A{ //常量,常量要大写 public static final double PI=3.14; } final修饰的引用类型,该引用不可再重新指向其他的Java对象。但是final修饰的引用,该引用指向的对象的属性是可以修改的。 public class A{ public static void main(String[] args) { final Customer c=new Customer("LUCY",16); //c是final的,无法重新赋值 //c=new Customer("JACK",15); c.name="李四"; c.age=19; System.out.println(c.name); System.out.println(c.age); } } class Customer{ String name; int age; Customer(String name,int age){ this.name=name; this.age=age; } }

最新回复(0)