掌握知识点
-
final 标记的类不能被继承;
-
final 标记的方法不能被子类复写;
-
final 标记的变量(成员变量或局部变量)即为常量,只能赋值一次。
通关源码(1)
/**
* 调试代码,对代码进行增添、删除和修改等操作,使得程序能够正常运行,输出结果请参照预期输出结果。
*/
// 请在下面的Begin-End之间编写正确的代码
/********* Begin *********/
public class Demo {
public static void main(String args[]) {
Bike1 obj = new Bike1();
obj.run();
Honda honda = new Honda();
honda.run();
Yamaha yamaha = new Yamaha();
yamaha.run();
}
}
class Bike1 {
int speedlimit = 90; // 定义速度限制
void run() {
// 修改速度限制为 120,并输出
speedlimit = 120;
System.out.println("speedlimit=120");
}
}
class Bike2 {
// 输出 running
void run() {
System.out.println("running");
}
}
// 继承 Bike2 类
class Honda extends Bike2 {
// 重写 run 方法
void run() {
System.out.println("running safely with 100kmph");
}
}
class Bike3 {
}
// 继承 Bike3 类
class Yamaha extends Bike3 {
void run() {
System.out.println("running safely with 10kmph");
}
}
/********** End **********/
通关源码(2)
/**
* Create By 刘鸿涛
* 2021/12/13 17:30
*/
class DemoTest{
int i = 10;
}
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********* Begin *********/
// 将Demo类改为 final形式
class Demo{
// 定义一个final、static常量,名为PI,值为3.14
static final double PI = 3.14;
// 声明一个final类型的DemoTest对象,命名为demoTest
final DemoTest demoTest = new DemoTest();
// 声明一个不为final类型的DemoTest对象,命名为demoTest2
DemoTest demoTest2 = new DemoTest();
// 声明一个final型的数组,类型为int,值为 1,2,3,命名为a
final int[] a = {1,2,3};
// 删除主函数中错误的代码,使得程序能够正确输出
public static void main(String[] args) {
Demo demo = new Demo();
// demo.demoTest = new Test();
// demo.PI = 20;
System.out.println(demo.PI);
demo.demoTest2 = new DemoTest();
System.out.println(demo.demoTest2.i);
for (int i = 0; i < demo.a.length; i++){
demo.a[i] = 9;
System.out.println(demo.a[i]);
}
}
}
/********** End **********/