java抽象类

抽象类

什么是抽象类

  • 概述:父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有了存在的意义。我们把没有方法主体的方法称为抽象方法,类中如果有抽象方法,该类必须定义为抽象类
  • 抽象方法 : 没有方法体的方法。
  • 抽象类:包含抽象方法的类。

作用:可以用来实现设计模式

抽象类和抽象方法必须用abstract关键字修饰

格式:

abstract class 类名{} // 抽象类
abstract class 类名字 {}

public abstract 返回值类型 方法名(参数列表));
public abstract void run(); // 抽象方法

作用:

  • 可被子类继承,提供共性属性和方法。
  • 可声明为引用,更自然的使用多态。
  • 不让该类创建对象,只能由具体的子类实例化。

特点

1)抽象方法没有方法体

2)含有抽象方法的类必定是抽象类

3)抽象类不一定含有抽象方法,抽象类也可以有具体方法

4)抽象类拥有其他类一样的特性,但还多了个抽象方法

抽象类的使用要点

1)抽象类可以包含属性、方法、构造方法,但是构造方法不能被new实例化,即抽象类不能被实例化,只能被子类调用,用于子类访问父类的初始化数据,可以声明引用和使用多态的方式调用子类对象

2)抽象类的子类可以是抽象类

3)最终必须被非抽象子类(具体类)继承,否则该抽象类没有意义

4)必须保证抽象类含有无参构造方法

5)继承抽象类的同时必须重写该抽象类的所有抽象方法,除非该类也是抽象类

abstract不能跟以下关键字共存:
    private :必须被实现,所以不能使用private
    final  :必须被实现,所以不能使用final
    static  无意义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值