java系列7:抽象方法和抽象类

一、抽象方法

在某些情况下,基类无法(或者没有必要)提供被覆盖方法的具体实现,那么就可以将此方法声明成抽象方法。

每一个抽象方法等同于一个模板,一旦子类继承当前抽象类以后,实现该模板,通过模板体现不同的功能。

使用关键字abstract声明抽象方法,一般语法:

[访问权限] abstract 返回值类型 方法名称(参数列表);

public abstract void draw();

二、抽象类

如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。

定义抽象类同样使用关键字abstract,一般语法:

[访问权限] abstract class 类名 {
    成员列表
}

public abstract class Shapes {
    public abstract void draw();
}
abstract
  • 抽象类不可以直接实例化,只可以用来继承;
  • 抽象类的派生子类应该提供对其所有抽象方法的具体实现;
    1.可以这么认为,抽象方法实际上就是由抽象基类强制要求其派生子类必须实现的方法原型;
    2.如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类,只能用于继承,而不能实例化;
  • 抽象类中也可以包含有非抽象的方法;
  • 构造方法和静态方法不可以修饰为abstract。
示例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容