抽象类

什么是抽象类

用abstract关键字修饰的类,这个类就是抽象类。 访问修饰符 abstract 类名{}

什么是抽象方法

用abstract关键字修饰的方法,并没有具体的实现,这个方法就是抽象方法。
访问修饰符 abstract 返回类型 方法名(参数列表)//没有方法体

 注意:访问修饰符不能是private!!!
抽象类的价值

抽象类更多的价值在于设计,设计者设计以后,让子类继承并实现抽象类。

什么时候使用抽象类呢?

父类的方法的实现方向不确定,考虑将该方法设计为抽象方法。
当一个类中存在抽象方法时,这时就需要将该类声明为abstract类。
一般来说,抽象类会被继承,由其子类去实现抽象方法。

抽象类的细节
  1. 抽象类不能实例化,就是不能创建对象。
    abstract class aa{}
    你不能 new aa();编译会报错。
  2. 抽象类不一定要含有抽象方法,但是有抽象方法的一定是抽象类。
  3. 一个类只要包含了抽象方法,那么这个类一定要声明为abstract。
  4. abstract 只能修饰类和方法,不能修饰属性和其他的。
  5. 抽象类可以有任意的成员,比如:非抽象方法,构造器,静态属性等。有构造器,不代表可以有实例。
  6. 抽象方法不能有主体,既不能实现。
    在这里插入图片描述
    当去掉 { } 就可以了。但是注意要有 ; 分号。
    在这里插入图片描述
  7. 如果一个类继承了抽象类,则必须实现抽象类中的所有的抽象方法,除非子类也声明成抽象类。
  8. 抽象方法不能被private,fianl和static来修饰,因为这些关键字都是和重写相悖的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值