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();

 

posted @ 2021-03-04 11:14  别看我看路  阅读(70)  评论(0编辑  收藏  举报