Java抽象类


抽象类在Java里面用的少,Java把抽象类转换成了接口。抽象类从代码的角度来讲就是要求人家实现的方法也有自己实现的方法。抽象类在C++里面用的非常好,抽象类在C++里面是做规范做类型的。图中1.4动物的例子,动物类只做了简单的方法声明,而在子类中不重写或少重写方法虽不会对程序带来错误,既然不会报错误那么客户就不会遵守规则可能会少写一个或者几个方法,这是不严格的 这样问题就大了,不能让子类选择性的重写。所以为了让面向父类编程写的更加的完美,那么我们就要将动物类写为抽象类,写为抽象类那就必须强制重写了。所以抽象类定制了这个规则进行严格的执行。 如图8.8所示:

03016d5af6054c2397b7a4b6186d39f7.png

  图8.8

  首先将Test2类变为抽象类,然后把方法变为抽象方法后面打个分号,因为他不需要去实现所以不需要打花括号。抽象方法的好处就是强制要求子类必须重写。如果不重新就会报错。从代码的角度就是写上abstract就必须重写他不然就报错。这样不仅可以避免写错还统一了规则 让代码能够持续的发展下去。

  抽象类分为普通抽象类和纯抽象类,纯抽象类就是里面全部都是抽象的方法。普通抽象类就是里面有抽象的方法还有实现的方法。如图8.81所示:

28c2a29f8b1845f0802b241c1d472333_th.png

  图8.81

  现实生活中一个人都很多的身份,如果你在上班就是员工的身份,如果去商场那么就是顾客的身份。所以在这一方面我们在不同的环境有不同的身份。

  抽象类分为纯抽象类和普通抽象类,纯抽像类就是全部方法都是抽象的方法,普通抽像类里面有不是抽象的方法。如图8.82所示:

42882eac0a9345cf8464ebdb35f7efc7_th.jpg

  图8.82

  抽象类他不可以是静态的方法,他是给实例定方法的。抽象类也不能new对象的,因为他是一个抽象的概念需要子类去实现。

技术分享:www.kaige123.com

本文出自 “11247808” 博客,转载请与作者联系!