1.抽象方法
定义了抽象方法的类必须是抽象类。抽象方法不能有函数体。
如果基类定义了抽象方法,且子类没有实现该抽象方法,则子类不能初始化。
子类通过override来实现抽象方法。
class cat:animal
{
override public void sleep(){}
}
2.虚方法
class animal
{
public virtual void Eat()
}
virtual 方法可以实现。
只有标记为virtual才可以在子类中重写。也就是说java中所有的基类方法都是虚方法。
new关键字可以用来隐藏基类的虚方法。
override关键字用来重写基类的虚方法。
子类中如果既不隐藏也不重写基类的虚方法,则子类调用该方法时将直接调用最近父类的该方法。