码迷,mamicode.com
首页 > 编程语言 > 详细

java中的fianl关键字

时间:2020-12-01 11:51:23      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:method   end   extends   局部变量   常量   默认值   java   block   成员   

final的意义:

final在java中的意思是表示最终的,无法改变的意思。

final的作用:

常见的四种用法:
1.可以用来修饰一个类 格式: public final class 类名称{}
2.可以修饰一个方法 格式: 修饰符 final 返回值类型 方法名称(参数列表){方法体内容}
3.可以修饰一个局部变量 格式: final 变量类型 变量名;
4.可以修饰一个成员变量 格式:权限修饰符 final 变量类型 变量名;

final修饰类不可以被继承,但是可以继承其他类,使用方式跟其它类一样。

class Parent {}
final class Person extends Parent{} //可以继承Parent类
class Child extends Person{} //不能继承Person类

final修饰的变量称为常量,这些变量只能赋值一次,但可以装类用于计算。

final int i = 20;
i = 30; //赋值报错,final修饰的变量只能赋值一次

final修饰的方法,不可以被覆盖(不可以重写),但可以继承使用

class Parent {
    // final修饰的方法,不可以被覆盖,但可以继承使用
    public final void method1(){}  //这个方法不可以重写
    public void method2(){}
}
class Child extends Parent {
    //可以重写method2方法
    public final void method2(){}
}

final修饰成员变量,固定的不是内存默认值,需要在创建对象前赋值,手动赋值,否则报错,必须保证只能赋值一次

1、成员变是的赋值有二种实现方式,一种是定义的时候直接赋值,变量=赋值

public class ParentDemo {
    final int age=0;
    public ParentDemo(int age){
        this.age=age;//会报错,因为前面已经赋值了,
    }
}

2、另一种,采用构造方法赋值

public class ParentDemo {
    final int age;
    public ParentDemo(int age){
        this.age=age;//编译通过,
    }
}

注意:
final修饰的是在编译时不能确定值,只有在运行时才能确定的值,所以它是一个运行时常量

java中的fianl关键字

标签:method   end   extends   局部变量   常量   默认值   java   block   成员   

原文地址:https://blog.51cto.com/14954398/2554676

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!