Java-面向对象_final修饰符
【1】修饰变量:
public class Test { public static void main(String[] args) { //第一种情况 //final修饰一个变量,变量的值不可以改变,这个变量也变成了一个字符常量,约定俗称的规定:名字大写 final int A = 10;//final修饰基本数据类型 //A = 20 :不可以修改值 //第二种情况: final Dog dog = new Dog(); dog.age = 10; dog.weight = 13.7; //第三种情况: final Dog dog2 = new Dog(); a(dog2); } public static void a(Dog d) { d = new Dog(); } public static void b(final Dog d){
d= new Dog();//错误
}
}
【2】 修饰方法:
final修饰方法,那么这个方法不可以被该类的子类重写
【3】修饰类:
final修饰类,代表该类不可以被继承
一旦一个类被final修饰,那么里面的方法也没有必要用fianl修饰了(final可以省略不写)
【4】案例:
(1)使用Math类的时候无需导包,直接使用即可;
(2)Math类没有子类,不能被其他类继承了
(3)里面的属性全部被final修饰,方法也是被final修饰的,只是省略不写了。
原因:子类没有必要进行重写。
(4)外界不可以创建对象:
Math m = new Math();