首页 > 试题广场 >

关于Java语言中的final关键字的使用,下列说法正确的是

[单选题]

关于Java语言中的final关键字的使用,下列说法正确的是()

  • 在使用final关键字定义的方法里面必须使用final关键字定义变量。
  • 使用final关键字定义变量,必须在变量定义的同时给定变量的具体数值,完成变量初始化。
  • final关键字可以用来修饰方法,表明此方法不可以被子类重写。
  • 使用final关键字定义变量,必须同时使用static关键字。

A 选项在 final 定义的方法里,不是必须要用 final 定义变量。
B final 定义的变量,可以在不是必须要在定义的同时完成初始化,也可以在构造方法中完成初始化
C 正确,final修饰方法,不能被子类重写,但是可以被重载
D final 定义变量,可以用 static 也可以不用。

发表于 2017-05-10 16:43:01 回复(15)
final定义变量,不一定要在初始化的时候指定其值。
如:
public class A{
    final int i;
    public A(){
        i=0;
    }
}
以上代码也是正确的
编辑于 2017-08-08 12:05:02 回复(2)
final定义的成员变量可以在代码块(类变量则静态代码块,实例变量普通代码块)里初始化,也可以在构造器中初始化,也可以在声明变量时初始化。final的局部变量声明时不必马上初始化,但使用时必须初始化,而且只能一次赋值
发表于 2018-04-13 23:26:09 回复(0)
final修饰的类不能被继承, final 修饰的方法不能被重写,final修饰的属性在第一次被赋值后不可再更改值。
发表于 2017-05-27 21:42:49 回复(0)
发表于 2020-02-10 13:29:14 回复(0)

属性不可改,方法不可重写,类不可继承

发表于 2018-10-03 16:38:45 回复(0)
final修饰的类不能被继承,修饰的方法不能被重写,属性不能改。
发表于 2017-05-06 16:10:04 回复(0)
A:选项
class Test8 {
    public final  String testFinal(){
    	 int a=1;
    	 return  String.valueOf(a);
    }
}
变量不使用final  完全没问题
                                                                
class Test8 {
    public final  String testFinal(){
    	 final int a=1;
    	 return  String.valueOf(a);
    }
}
变量使用final 也不会报错啊 题目中业没有说必须使用final  不明白为啥错了
B:
class Test6{
     final int a;
     public  Test6(){
         a=1;
     }
}
构造方法也可以赋值

C:
class Test8 {
    public final  String testFinal(){
    	 final String a = "b";
    	 return a;
    }
}
class Test9 extends Test8{
	@Override
	 public final  String testFinal(){
		 final String b = "b";
    	 return b ;
    }
}
Test9里边别的testFinal确实会报错 不能被重写
D:没有必须使用的 可以不使用static
                                                                    
发表于 2020-05-03 22:02:14 回复(0)
 对于final修饰的成员变量而言,一旦有了初始值之后,就不能被重新赋值,因此不可以在普通方法中对成员变量赋值。要么在定义的时候赋值,要么在方法块和构造器中赋值。

发表于 2018-03-26 17:17:07 回复(0)
final 定义的变量,可以在定义的同时完成初始化,也可以在构造方法中完成初始化。但只能初始化一次,且不可修改。
发表于 2018-01-20 15:24:58 回复(0)
1,被final修饰的变量不可以被改变,不一定要完成初始化
2,被final修饰的方法不可以被重写
3,被final修饰的类不可以被继承
发表于 2022-07-18 00:33:31 回复(0)
A. final 修饰的方法里面可以不使用 final 定义变量:

B. final 关键字定义变量可以使用三种方式:

C. final 修饰的方法不能被子类重写,正确

D. final 关键字定义的变量无需使用 static 关键字,如 B 图

发表于 2022-08-21 12:20:01 回复(0)
* final:最终的
 * 
 * 1.final可以用来修饰的结构:类、方法、变量
 * 
 * 2.final用来修饰一个类:此类不能被其他类所继承。
 *           比如:String类、System类、StringBuffer类
 * 3.final修饰一个方法:final标记的方法不能被子类重写。
 *           比如:Object类中的getClass()。 
 * 4.final用来修饰变量:此时的"变量"(成员变量或局部变量)就是一个常量。名称大写,且只能被赋值一次。
 *      4.1 final修饰属性,可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
 *   4.2 final修饰局部变量:
 *        尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。
 *      一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
 *      
 * static final 用来修饰:全局常量
发表于 2022-03-26 18:56:28 回复(0)
关于Java语言中的final关键字的使用,下列说法正确的是() A 在使用final关键字定义的方法里面必须使用final关键字定义变量。 B 使用final关键字定义变量,必须在变量定义的同时给定变量的具体数值,完成变量初始化。 Cfinal关键字可以用来修饰方法,表明此方法不可以被子类重写。 D 使用final关键字定义变量,必须同时使用static关键字。 解释 B 选项: final变量可以在以下位置进行赋值初始化: 1. 声明同时初始化:可以在声明变量的同时为其赋初始值。例如:final int x = 10;。 2. 实例初始化块:可以在类中使用实例初始化块为final实例变量赋初始值。实例初始化块是在创建类的实例时执行的代码块。例如: public class MyClass { final int x; { x = 10; } } 3. 构造方法:在构造方法中,可以对final实例变量进行赋值初始化。例如: public class MyClass { final int x; public MyClass() { x = 10; } }
编辑于 2023-07-05 15:43:50 回复(0)
final 使用注意事项和细节讨论
 1)final修饰的属性又叫常量,一般 用大写字母来命名
 2)final修饰的属性在定义时 必须赋初值,井且以后不能再修改,赋值可以在如下位置之一【选择一个位置赋初值即可】:
 定义时:如 public final double TAX RATE=0.08;
在构造器中
在代码块中。
 3) 如果final修饰的属性是静态的,则初始化的位置只能是 ⑨定义时 ② 在静态代码块 不能在构造器中赋值。
 4) final类不能继承,但是可以实例化对象。
 5) 如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承
编辑于 2023-05-27 23:02:18 回复(0)
被final修饰的变量不能改变,不一定要赋值 被final修饰的类不能被继承 被final修饰的方法不能被重写
发表于 2022-10-25 10:10:59 回复(0)
B:final 定义的变量,可以在不是必须要在定义的同时完成初始化,也可以在构造方法中完成初始化。 C:final修饰方法,不能被子类重写,但是可以被重载。
发表于 2022-10-04 14:37:57 回复(0)
B选项有问题嘛?

发表于 2022-09-22 14:46:46 回复(0)
忘记构造器初始化乐,淦
发表于 2022-09-19 17:50:20 回复(0)
final修饰的变量不一定要在定义的时候就初始化
发表于 2022-07-28 00:02:12 回复(0)