Java抽象类

抽象类

比如:狼和狗都有吼叫的行为,并且他们都是犬科动物,所以我们可以把他们具有的共性给抽象出来。

但是犬科如何叫,狼和狗是不一样的,所以必须由具体的子类的实现,他们的吼叫的行为不一样,这个是一个不具体的功能。

所以在Java中必须把这个类给标识出来,用abstract抽象来标识。
抽象类在描述事物的时候,没有足够的信息去描述一个事物,这时候该事物就是抽象事物。比如:计算机

1、如果一个方法被定义成了抽象方法,则该类必须定义为抽象类。

2、抽象类不可以创建实例,原因:调用抽象方法没有意义。

3、只有覆盖了抽象类中的所有抽象方法以后,其子类才可以实例化,否则,该子类还是一个抽象类。

抽象问题

1、抽象类一定是个父类吗?

      是的,因为抽象类是不断的抽取而来的。

2、抽象类是否有构造函数?

      有,虽然不能给自己的对象初始化,但是可以给自己子类的对象初始化。

抽象类与一般类的区别:

相同点

  • 他们都是用来描述事物的。
  • 他们之间都可以定义属性和行为

不同点

  • 一般类可以用来描述具体的事物,但是抽象类描述事物的信息不具体
  • 一般类可以创建对象,而抽象类不

3、抽象类是否可以不定义抽象方法?

        是可以的,这个抽象类到底有什么意义呢?作用仅仅不让该类创建对象。

4、抽象关键字abstract不可以和那些关键字共存?

      final、private、static

转载于:https://my.oschina.net/CLOWN001/blog/857266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值