java中抽象类的存在有什么意义?
我是这样想的,本来继承的目的就是为了获取父类中的某些功能,这样在子类中就不用重新定义书写这些功能,提高了代码的复用性很方便,可是继承抽象类的时候,由于继承的方法中有的是抽...
我是这样想的,本来继承的目的就是为了获取父类中的某些功能,这样在子类中就不用重新定义书写这些功能,提高了代码的复用性很方便,可是继承抽象类的时候,由于继承的方法中有的是抽象的方法没有具体实现方式,在子类中还得重新书写覆盖,那我为什么要去继承这个抽象类呢?感觉没有意义啊,继承也得再写,不继承也得再写。
展开
3个回答
展开全部
java中抽象类更利于代码的维护和重用。
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。具体分析如下:
1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具有相同属性和方法的组件进行抽象,这样更有利于代码和程序的维护。
比如本科和研究生可以抽象成学生,他们有相同的属性和方法。这样当你对其中某个类进行修改时会受到父类的限制,这样就会提醒开发人员有些东西不能进行随意修改,这样可以对比较重要的东西进行统一的限制,也算是一种保护,对维护会有很大的帮助。
2.当又有一个具有相似的组件产生时,只需要实现该抽象类就可以获得该抽象类的那些属性和方法。
比如学校又新产生了专科生这类学生,那么专科生直接继承学生,然后对自己特有的属性和方法进行补充即可。这样对于代码的重用也是很好的体现。
所以,Java中抽象类对于代码的维护和重用有很好的帮助,也是Java面向对象的一个重要体现。
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。具体分析如下:
1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具有相同属性和方法的组件进行抽象,这样更有利于代码和程序的维护。
比如本科和研究生可以抽象成学生,他们有相同的属性和方法。这样当你对其中某个类进行修改时会受到父类的限制,这样就会提醒开发人员有些东西不能进行随意修改,这样可以对比较重要的东西进行统一的限制,也算是一种保护,对维护会有很大的帮助。
2.当又有一个具有相似的组件产生时,只需要实现该抽象类就可以获得该抽象类的那些属性和方法。
比如学校又新产生了专科生这类学生,那么专科生直接继承学生,然后对自己特有的属性和方法进行补充即可。这样对于代码的重用也是很好的体现。
所以,Java中抽象类对于代码的维护和重用有很好的帮助,也是Java面向对象的一个重要体现。
展开全部
继承除了可以复用已经实现的方法外,还有一个很重要的作用:多态!
举个例子,你有一个方法,需要根据传递参数的不同,而返回不同的结果:
Action(Bird bird){bird.move();} //结果是飞
Action(Man man){man.move();} //结果是走
Action(Fish fish){bird.move();} //结果是游
如果它们都继承自一个类Animal,那么这个方法只写一个就可以了:
Action(Animal animal){animal.move();} //根据多态,结果是子类的实现
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相当于普通类和接口的综合体,你可以在里面定义实现了的方法和未实现需要继承去实现的抽象方法。就相当于一个存放了可以直接使用的物品和未使用的模具的容器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询