马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
修改给定的程序,使得程序能顺利运行,且结果如下:
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 *********/
错误如下:
在Bike1类中,speedlimit被声明为final,这意味着它的值一旦被初始化就不能再改变。所以,我们不能在run方法中修改speedlimit的值。
在Honda类中,程序试图重写Bike2类的run方法,但是run方法在Bike2类中被声明为final,这意味着它不能被重写。
在Yamaha类中,程序试图继承Bike3类,但是Bike3类被声明为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();
}
}
class Bike1 {
final int speedlimit = 90;
void run() {
System.out.println("speedlimit=" + speedlimit);
}
}
class Bike2 {
void run() {
System.out.println("running");
}
}
class Honda extends Bike2 {
@Override
void run() {
System.out.println("running safely with 100kmph");
}
}
class Bike3 {
void run() {
System.out.println("running");
}
}
class Yamaha extends Bike3 {
@Override
void run() {
System.out.println("running safely with 100kmph");
}
}
|