本文概述
- 1)Java final变量
- 2)final的Java方法
- 3)final的Java类
- 变量
- 方法
- 类
1)Javafinal变量如果你做任何变量,final,你无法改变final的变量的值(它将常数)。
final一个变量的例子
speedlimit有final一个变量,我们要改变这个变量的值,但它不能被改变,因为final变量赋值不能被改变。
class Bike9{
final int speedlimit=90;
//final variable
void run(){
speedlimit=400;
}
public static void main(String args[]){
Bike9 obj=newBike9();
obj.run();
}
}//end of class
Output:Compile Time Error
2)final的Java方法如果你做任何方法final,你不能覆盖它。
final方法的例子
class Bike{
final void run(){System.out.println("running");
}
}class Honda extends Bike{
void run(){System.out.println("running safely with 100kmph");
}public static void main(String args[]){
Honda honda= new Honda();
honda.run();
}
}
Output:Compile Time Error
3)final的Java类如果你做任何类决赛,你不能扩展它。
的例子,final一节课
final class Bike{}
class Honda1 extends Bike{
void run(){System.out.println("running safely with 100kmph");
}public static void main(String args[]){
Honda1 honda= new Honda1();
honda.run();
}
}
Output:Compile Time Error
问)是final方法继承了?
Ans)是的,final的方法是遗传的,但你不能覆盖它。例如:
class Bike{
final void run(){System.out.println("running...");
}
}
class Honda2 extends Bike{
public static void main(String args[]){
new Honda2().run();
}
}
Output:running...
问)空白或final未初始化的变量是什么?
final一个变量没有初始化的时候声明被称为空白final变量。
如果你想创建一个初始化的变量创建对象的时候,一旦初始化可能不会改变,它是有用的。例如潘卡的员工数量。
它可以只在构造函数初始化。
空白的final变量的例子
class Student{
int id;
String name;
final String PAN_CARD_NUMBER;
...
}
)我们可以初始化空白final变量?
是的,但只在构造函数。例如:
class Bike10{
final int speedlimit;
//blank final variableBike10(){
speedlimit=70;
System.out.println(speedlimit);
}public static void main(String args[]){
new Bike10();
}
}
Output: 70
静态空白final变量
【Java final关键字】final一个静态变量没有初始化的时候声明称为静态空白final变量。它只能在静态初始化块。
静态空白final变量的例子
class A{
static final int data;
//static blank final variable
static{ data=http://www.srcmini.com/50;
}
public static void main(String args[]){
System.out.println(A.data);
}
}
问)final一个参数是什么?
如果你声明任何参数,final,你不能改变它的价值。
class Bike11{
int cube(final int n){
n=n+2;
//can't be changed as n is final
n*n*n;
}
public static void main(String args[]){
Bike11 b=new Bike11();
b.cube(5);
}
}
Output: Compile Time Error
问)我们可以声明一个构造函数final吗?
不,因为构造函数不会遗传。