final
关键字可以与方法和类一起使用,但是如果我们将它与方法一起使用那么方法不能被覆盖,如果我们将它与类一起使用那么它不能是扩展意味着什么?为此请告诉我覆盖和扩展之间的主要区别是什么?
例如下面的程序给出了编译错误(编译时错误):
Class Bike{
final void run(){
System.out.println("running");
}
}
class Honda extends Bike{
void run(){
System.out.println("running safely with 100kmph");
}
public static void main(String args[]){
Honda honda= new Honda();
honda.run();
}
}
答案 0 :(得分:0)
lass Bike {
final void run() {
System.out.println("running");
}
}
class Honda extends Bike {
void run() {
System.out.println("running safely with 100kmph");
}
public static void main(String args[]) {
Honda honda = new Honda();
honda.run();
}
}
class Bike {
final void run() {
System.out.println("running");
}
}
class Honda extends Bike {
void run() {
System.out.println("running safely with 100kmph");
}
public static void main(String args[]) {
Honda honda = new Honda();
honda.run();
}
}
final
关键字意味着无法被覆盖,这意味着:例如,我有一个班级Dog
:
public class Dog {
final void bark() {
System.out.println("Woof!");
}
}
我有一只狼:
class Wolf extends Dog {
}
Wolf
类无法覆盖bark
方法,这意味着无论如何,它都会打印Woof!
。但是,这可能是你想要的:
class Bike {
void run() {
System.out.println("running");
}
}
class Honda extends Bike {
@Override
void run() {
System.out.println("running safely with 100kmph");
}
public static void main(String args[]) {
Honda honda = new Honda();
honda.run();
}
}