抽象类 Abstract Class
代表一类抽象概念的类
什么是抽象的?
比如:美好的事物,好吃的东西,生命体等
什么是具体的?
比如:保时捷,巧克力,小鸭子等
创建抽象类
添加abstract修饰即可。
public abstract class FunnyThing
{
//美好的事物抽象类
}
抽象类内部可以定义抽象方法,该方法不能写方法体
除可以定义抽象方法外,其他与普通类无区别
public abstract class FunnyThing
{
//美好的事物抽象类
public abstract void makeMeLaugh();
}
抽象类不可被实例化
FunnyThing ft = new FunnyThing();//错误!
抽象类仅用于描述一类事情:应该有什么,应该做什么。他不是具体的类,不能创建对象。
抽象类不是必须的
亦可用普通类的语法来写,已经能够满足大部分程序需求。
抽象类的用法
派生出其子类,将子类实例化,并重写所有抽象方法。
常见写法如下:
FunnyThing f = new ChildrenStory();
//ChildrenStory是FunnyThing派生出的子类
//这里定义一个父类引用,指向子类对象