在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(); } }
输出结果
The display_msg method of base class class
创建名为“ base_class”的类,该类具有函数“ display_msg”。此功能仅显示一条相关消息。另一个名为“ derived_class”的函数是从“ base_class”继承的。此类还具有显示相关消息的“ display_msg”。另一个名为Main的类包含main函数,在其中创建base_class的实例。该实例调用“ display_msg”,并且输出显示在屏幕上。