抽象类的理解

抽象类的概念

一个类中没有足够的信息来实例化一个具体的对象,这样的类就是抽象的

实际应用中:一般是父类,因为父类主要是构建基本的大模型,范围太广

就像多态中的应用场景,父类的引用指向子类的对象。

抽象类语法

抽象类和普通类一样,无非是多加了个abstract修饰,抽象方法中不能有实现。

  

抽象类的特性

1.抽象类和普通类一样,可以拥有成员变量和成员方法。

2抽象类不能实例化对象,也是一种封装性的体现。

3抽象类发生继承时,其中的抽象方法也必须重写。

4,3的特殊衍生,当继承与被继承的类都是抽象类时,里面的抽象方法都必须要重写(不管是直接继承还是间接继承,只要存在抽象方法都必须重写)

5.抽象类中可以没有抽象方法,但有抽象方法就一定有抽象类

6.抽象方法不能被final,static修饰,因为子类必须要重写,也不能被private修饰

抽象类中的构造方法

抽象类中有成员方法和属性,当然也有给属性赋值的构造方法,因为它不能被实例化,不然子类在继承父类时会发生无法给父类初始化的错误,因此这里的构造函数就是给子类用的。

初始化错误

完成初始化和重写抽象类

抽象类的作用

抽象类本身不能被实例化,要想使用,只能创建该抽象类的子类.然后让子类重写抽象类中的抽象方法。

实际作用就是预防编译防止出错,如,final关键字,因为普通的类和方法也能被继承被重写,

使用抽象类的场景就如上面的代码,实际工作不应该由父类完成,而应由子类完成.那么此时如果不小心误用成父类了,使用普通类编译器是不会报错的.但是父类是抽象类就会在实例化的时候提示错误,让我们尽早发现问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值