/* 请在下面的 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 *********/
时间: 2023-07-01 10:11:14 浏览: 183
修改后的程序如下:
```
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() {
System.out.println("speedlimit=" + speedlimit);
}
}
class Bike2 {
final void run() {
System.out.println("running");
}
}
class Honda extends Bike2 {
// final 方法不能重写
// void run() {
// System.out.println("running safely with 100kmph");
// }
}
// 不能定义 final 类的子类
// final class Bike3 { }
// class Yamaha extends Bike3 {
// void run() {
// System.out.println("running safely with 100kmph");
// }
// }
/********** end *********/
```
根据要求,将 Bike1 类中的 run 方法修改为不能修改 final 变量的值,并注释掉不能定义 final 类的子类 Bike3 和其子类 Yamaha。同时,在 Honda 类中重写 final 方法 run 会导致编译错误,因此不做修改。
阅读全文