当用final去修饰一个类的时候,表示这个类不能被继承。
将类定义成final后,结果只是禁止被继承。由于禁止了继承,所以一个final类中的所有方法都默认为final。
在自己设计一个类的时候,要想好这个类将来是否会被继承,如果可以被继承,则该类不能使用fianl修饰,在这里呢,一般来说工具类我们往往都会设计成为一个fianl类。在JDK中,String被设计为final类型。
public final class Feige {
public final void say() {
System.out.println(666);
}
}
final方法主要的作用:防止任何继承类重写此方法。若希望一个方法的行为在继承期间保持不变,不可被重写,就可以采取这种做法。
一个类的private方法会隐式的被指定为final方法。
public class Feige {
public final void say() {
System.out.println(666);
}
}
final修饰成员变量必须要赋初始值,而且是只能初始化一次。有两种方式:1、直接赋值 2、在构造方法中赋初值。
如果修饰的成员变量是基本类型,则表示这个变量的值不能改变。
如果修饰的成员变量是一个引用类型,则是说这个引用的地址的值不能修改,但是这个引用所指向的对象里面的内容还是可以改变的。
public class Feige {
private final String name = "feige";
private final String sex;
private final static String hobby;
public Feige() {
sex = "男";
}
static {
hobby="啪啪啪";
}
}
原文:https://www.cnblogs.com/feiqiangsheng/p/11148528.html