java中的fianl关键字
2021-03-14 01:37
标签:method end extends 局部变量 常量 默认值 java block 成员 final在java中的意思是表示最终的,无法改变的意思。 常见的四种用法: 1、成员变是的赋值有二种实现方式,一种是定义的时候直接赋值,变量=赋值 2、另一种,采用构造方法赋值 注意: java中的fianl关键字 标签:method end extends 局部变量 常量 默认值 java block 成员 原文地址:https://blog.51cto.com/14954398/2554676final的意义:
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修饰成员变量,固定的不是内存默认值,需要在创建对象前赋值,手动赋值,否则报错,必须保证只能赋值一次
public class ParentDemo {
final int age=0;
public ParentDemo(int age){
this.age=age;//会报错,因为前面已经赋值了,
}
}
public class ParentDemo {
final int age;
public ParentDemo(int age){
this.age=age;//编译通过,
}
}
final修饰的是在编译时不能确定值,只有在运行时才能确定的值,所以它是一个运行时常量
上一篇:冒泡排序