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’,并将输出显示在屏幕上。