开发工具与关键技术:MyEclipse
作者:邹铭霞
撰写时间:2019年5月6日
final修饰的类是不能被继承的,String类就是典型的final修饰的类
final修饰的类可以去继承别的类,但不能被继承
final修饰符的用法:
一、 用来修饰数据:
1、包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。
2、对于成员变量来讲,我们必须在声明时、构造方法或者初始化块中对它赋值,因为在调用的时候才能赋初值,无法在方法内部给它赋值
3、final修饰的成员变量有实例变量和类变量
public class Person{
//声明该实例变量指定初始值
final int count = 10;
//初始化块指定初始值
final int age = 10;
//构造器中指定出初始值
final int com;
public Person (){
com = 10;
}
//final 修饰类变量
final static String INT_A = "2333";
final static String INT_B;
static{
INT_B = "123";
}
}
二、用来修饰局部变量:表示在变量生存期中它的值不能被改变
1、final修饰局部变量时,既可以在定义时指定默认值,也可以不指定默认值。
public class Person {
public static void main(String[] args) {
//不能再后面的代码中赋值
final int count = 10;
//非法
//INT_A = 10;
//可以在后面的代码赋值一次
final String age;
age = "123";
}
public void test(final int com){
//不能对final修饰的形参赋值
//com= 10;
}
}
三、修饰方法:表示该方法无法被重写
final修饰的方法不能重写
public class Person {
public void print(){
System.out.println("--------print方法-------");
}
//final修饰的方法
public final void finalPrint(){
System.out.println("--------finalPrint方法-------");
}
//继承
class Demo1 extends Operator{
//重写完成
public void print() {
System.out.println("-------print方法重写完成-------");
}
//不能重写final修饰的方法
// public final void finalPrint() {
// System.out.println("--------finalPrint方法重写失败-------");
// }
}
}
四、修饰类:表示该类无法被继承
Final修饰的类不能被继承
public final class FinalPerson{
int count = 10;
}