您的位置:首页 > 编程语言 > Java开发

java关键字:fianl的一些简单的用法

2016-09-10 11:25 363 查看
引入的一个场景是:

有时候子类会去重写父类的方法方法,但是有时候不希望子类重写父类的方法

这个时候java 提供了一个关键字fianl来修饰

那么

子类中的方法不能重写被final修饰的方法

class Father{
public final void show(){
System.out.println("不能修改hello java");
}

}

class Son extends Father{
//编译报错:
//Son中的show()无法覆盖Father中的show()
//被覆盖的方法为final
public void show(){
System.out.println("我修改了hello java文件");
}

}

class Test{
public static void main(String[] args){
Son s = new Son();
s.show();
}

}

final关键字:

意思是最终的

它可以修饰类、方法、变量

final修饰:
A:类  这个类不
4000
能别其他类继承
B:方法 这个方法不能被子类重写
C:变量
a:类型为基本数据类   这个变量就称为了常量,常量一旦被赋值就不能再次赋值了,不然就报错了
常量:字面常量  "kevin" "cidy",10,12等
 自定义常量:fianl String num = "001";

b:类型为引用数据类型的时候   地址值不会改变,但是堆内存中的值可以进行修改
比如:
class Student{
int age =10;
}

class StuTest{
public static void main(String[] args){
Student s = new Student();
System.out.println(s.age)://输出结果为:10;

final Student s2 = new Student();
s2.age=100;
System.out.println(s2.age);//输出结果为100;
}
}

在修饰变量(数据类型为基本数据类型的时候)
如果这个变量被赋了初始值,那么这个变量就不能在被赋值,不然会报错。

public class Test3{
public static void main(String[] args){
final int a =12;
System.out.println("a = "+a);

//错误: 无法为最终变量a分配值
a = 21;
System.out.println("a = "+a);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  final