Java中重写和扩展的区别是什么?
final关键字可以和method和class一起使用,但若我们和method一起使用,那个么method就不能被重写,若我们和class一起使用,那个么它就不能被扩展?为此,请让我知道覆盖和扩展之间的主要区别是什么 例如,下面的程序给出编译错误编译时错误:Java中重写和扩展的区别是什么?,java,Java,final关键字可以和method和class一起使用,但若我们和method一起使用,那个么method就不能被重写,若我们和class一起使用,那个么它就不能被扩展?为此,请让我知道覆盖和扩展之间的主要区别是什么 例如,下面的程序给出编译错误编译时错误: Class Bike{ final void run(){ System.out.println("running"); } } class Honda extends Bike{ void 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关键字表示不能重写它,这意味着:
例如,我有一只班犬:
我有一只狼:
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();
}
}
冷静,格式化。然后寻求帮助。您正在查找文档。@sᴜʀᴇsʜᴀᴛᴛᴀ 讽刺的是,你的名字全是大写的;编译错误是什么?请张贴一个堆栈跟踪。@Samuel lol。没有OP的:P那么多
public class Dog {
final void bark() {
System.out.println("Woof!");
}
}
class Wolf extends Dog {
}
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();
}
}