京东2016实习生招聘 Java开发工程师
16.多选题 以下说法错误的是( )
A final修饰的方法不能被重载
B final可以修饰类、接口、抽象类、方法和属性
C final修饰的方法也不能被重写
D final修饰的量是常量,不可以修改
1.final可以用来修饰类、方法、变量,不能用来抽象类和接口
2.final修饰的类 不能被继承,即不能重写覆盖(override)
3.final修饰的方法 可以被重载,不能被覆盖/重写
4.用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。 特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。
因此答案选:AB
扩展:
重载(overload)与 重写/覆盖(override)
//重载(overload)
final void bark()
{
}
void bark(String m,double l)//注意:重载的方法的返回值都是一样的,
{
}
void bark(int a,String n)//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分
{
}
//重写(覆盖override)
public class Base{
void test(int i){
System.out.print(i);
}
public class TestOverriding extends Base{
void test(int i){
i++;
System.out.println(i);
}
public static void main(String[]agrs)
{
}
}
如有错误,请及时指出