final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口
2017-10-14 18:25
501 查看
面试题
以下关于final关键字说法错误的是(A,C)(两项)
A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B) final修饰的类肯定不能被继承
C) final修饰的方法不能被重载
D) final修饰的变量不允许被再次赋值
一、final关键字可以用来修饰类、方法、变量。各有不同。
A、修饰类(class)。
1、该类不能被继承。
2、类中的方法不会被覆盖,因此默认都是final的。
3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类
B、修饰方法(method)
1、该方法可以被继承,但是不能被覆盖。
2、用途:一个类不允许子类覆盖该方法,则用final来修饰
3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。
4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)
C、修饰变量(variable)
1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。
2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。
D、修饰参数(arguments)
1、用final修饰参数时,可以读取该参数,但是不能对其作出修改
二、final关键字不能用来抽象类和接口。
以下关于final关键字说法错误的是(A,C)(两项)
A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B) final修饰的类肯定不能被继承
C) final修饰的方法不能被重载
D) final修饰的变量不允许被再次赋值
一、final关键字可以用来修饰类、方法、变量。各有不同。
A、修饰类(class)。
1、该类不能被继承。
2、类中的方法不会被覆盖,因此默认都是final的。
3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类
B、修饰方法(method)
1、该方法可以被继承,但是不能被覆盖。
2、用途:一个类不允许子类覆盖该方法,则用final来修饰
3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。
4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)
C、修饰变量(variable)
1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。
2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。
D、修饰参数(arguments)
1、用final修饰参数时,可以读取该参数,但是不能对其作出修改
二、final关键字不能用来抽象类和接口。
相关文章推荐
- final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口
- final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口
- final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口
- final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口
- 黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)
- final 不能修饰抽象类 方法可以被重载 但不能被重写
- JavaSE8基础 final修饰类的成员变量,其只可以被访问,不能被修改
- 【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析
- final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
- Abstract方法不能用final,static修饰非abstract方法在abstract类中可以用fina
- final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- 面试题6:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- final关键字修饰变量是引用不能变
- [C#基础知识] ReadOnly关键字修饰的变量可以修改,只是不能重新分配
- ReadOnly关键字修饰的变量可以修改,只是不能重新分配
- 7.1面向对象(继承中成员方法关系,final关键字,多态,抽象类,接口)
- final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
- 面试题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- [C#基础知识] ReadOnly关键字修饰的变量可以修改,只是不能重新分配