抽象类本身是不能直接实例化的,因为其本身包含抽象方法。不过,抽象类可以通过对象的多态性来实例化,即抽象类通过子类进行实例化操作。那么可以将抽象类作为某个类型的模板,而具体的子类通过继承该抽象类,重写其中的方法来实现。下面看一个例子。下列每个类均为单独的文件
程序运行结果:
首先定义一个抽象类Person,定义一个抽象类方法call(),然后定义一两个类Teacher和Student,分别继承抽象类Person,并分别实现了方法call();定义LessonBegin,使用Person类型的变量作为参数,在测试时实例化Lesson,并使用new Teacher()和new Student()作为实际参数。最后老师会说“同学们好!”,学生说“老师好!”。