7-21 关于 final 的作用

简介: 7-21 关于 final 的作用

分数 15

全屏浏览题目

切换布局

作者 刘凤良

单位 天津仁爱学院


修改给定的程序,使得程序能顺利运行,且结果如下:

speedlimit=120
running safely with 100kmph
running safely with 100kmph

根据提示,在下面编辑器中根据编译的错误提示修改源程序。

/* 请在下面的 Begin 和 end之间修改源程序。 不可以修改 final 变量的值 final方法,不可以重写 不可以定义final 类 */ public class Main { public static void main(String args[]) { Bike1 obj = new Bike1(); obj.run(); Honda honda = new Honda(); honda.run(); Yamaha yamaha = new Yamaha(); yamaha.run(); } } /********** Begin *********/ class Bike1 { final int speedlimit = 90; void run() { speedlimit = 120; System.out.println("speedlimit=120"); } } class Bike2 { final void run() { System.out.println("running"); } } class Honda extends Bike2 { void run() { System.out.println("running safely with 100kmph"); } } final class Bike3 { } class Yamaha extends Bike3 { void run() { System.out.println("running safely with 100kmph"); } } /********** end *********/

输入样例:


输出样例:

speedlimit=120
running safely with 100kmph
running safely with 100kmph
/* 请在下面的 Begin 和 end之间修改源程序。 
  不可以修改 final 变量的值
  final方法,不可以重写
  不可以定义final 类
*/
public class Main {
    public static void main(String args[]) {
        Bike1 obj = new Bike1();
        obj.run();
 
        Honda honda = new Honda();
        honda.run();
 
        Yamaha yamaha = new Yamaha();
        yamaha.run();
    }
}
 
/********** Begin *********/
class Bike1 {
    final int speedlimit = 90;
 
    void run() {
        //speedlimit = 120; 
        System.out.println("speedlimit=120");
    }
}
 
class Bike2 {
    final void run() {
        System.out.println("running safely with 100kmph");
    }
}
 
class Honda extends Bike2 {
 
}
 
 class Bike3 {
    final void run() {
        System.out.println("running safely with 100kmph");
    }
}
 
class Yamaha extends Bike3 { 
    // void run() {
    //     System.out.println("running safely with 100kmph");
    // }
}
/********** end *********/
相关文章
|
存储 Cloud Native Linux
C++ 关键字override,final的作用
C++ 关键字override,final的作用
|
7月前
|
C++
【C++11特性篇】C++11中の【override】【final】关键字——帮助用户检测是否重写
【C++11特性篇】C++11中の【override】【final】关键字——帮助用户检测是否重写
|
Java
深入理解static的作用以及被static修饰的变量、方法、块
static关键字有以下三种使用方法: 1.被static修饰的变量属于静态变量,类变量,可以通过类名,变量名直接引用,不需要进行new一个新类。 2.被static修饰的方法属于静态方法,类方法,可以通过类名,方法名直接引用,而不需要new出来一个对象 3.静态块,用于初始化一个类的时候进行一些操作,静态变量、静态方法和静态代码块都只执行一次,而且只在初始化的时候执行。
300 1
|
编译器 C++
C++11新特性探究:显式override和final
C++中,我们一般可以以基类声明纯虚函数,然后让派生类继承并重写这个虚函数,用override表示显示覆盖基类方法,但一直没有提供一种方法来阻止派生类继承基类的虚函数。
|
存储 C语言
static的作用
static的作用
163 0
|
编译器
public final static搭配的好处
final 和 static 往往搭配使用,效率更高,不会导致类加载.底层编译器做了优化处理
179 0
public final static搭配的好处
|
PHP 开发者
最终类 final|学习笔记
快速学习最终类 final,前面说的 PHP 是可以继承的,类是可以继承的,类有我可以继承子类,再往后类又可以继承孙子类,类可以无无限继承,现在确定一个问题,类继承的多了,代表类的重用性增加了,但是系统的解析复杂程度会增加,随之而来的是效率的降低。 那如果有些类已经达到最小的程度,无法再扩展时,或者不需要继续扩展了,这个时候就要使用最终类 final。现在了解一些什么是最终类,掌握 final 关键字的最终作用和实际应用场景。
最终类 final|学习笔记
|
Java 编译器 Spring
尽量指定方法的final修饰符
尽量指定方法的final修饰符
89 0
|
设计模式 安全 Java
区区final和static,竟然隐藏着这么多知识点!
这是我端午节去西湖玩的时候照的照片。那天的天气很善变,早上出门的时候是阴云密布,中午突然就变成了蓝天白云,艳阳高照,到了下午又变成倾盆大雨。 有人说,人的心情、行为等都可能受到环境影响。我不否认这个理论,但我们可以降低环境对我们的影响。天气也好,家庭出身也好,曾经的经历也好,学习、工作环境也好。这些都算是一些客观的环境因素,影响情绪的大概率不是环境本身,而是我们的态度。晴天也好,雨天也罢,你若尝试喜欢,那便是好天气。
224 0
|
Web App开发 自然语言处理 C++
学习C++,学习类,那override和final你用过没?
学习C++,学习类,那override和final你用过没?
109 0
学习C++,学习类,那override和final你用过没?