C++ 和 Java 中的默认虚拟行为有何不同?

javaserver side programmingprogramming

在 C++ 中,类成员方法默认为非虚拟。这意味着,可以通过指定它来使它们变为虚拟的。

另一方面,在 Java 中,方法默认为虚拟的,可以借助‘final’关键字将其变为非虚拟的。

示例

class base_class{
   public void display_msg(){
      System.out.println("The display_msg method of base class class");
   }
}
class derived_class extends base_class{
   public void display_msg(){
      System.out.println("The display_msg of derived class called");
   }
}
public class Main{
   public static void main(String[] args){
      base_class my_instance = new base_class();;
      my_instance.display_msg();
   }
}

输出

基类的display_msg方法

创建一个名为‘base_class’的类,该类具有函数‘display_msg’。此函数仅显示相关消息。另一个名为 ‘derived_class’ 的函数继承自 ‘base_class’。此类还具有显示相关消息的 ‘display_msg’。另一个名为 Main 的类包含主函数,其中创建了 base_class 的一个实例。使用此实例调用 ‘display_msg’,并将输出显示在屏幕上。


相关文章