Java 是单继承的;那么如何完成“继承多个类”这样的效果?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 是单继承的;那么如何完成“继承多个类”这样的效果?相关的知识,希望对你有一定的参考价值。
业务场景是这样的:
有两个API的入参基类,是架构上早已写好的,都有比较多的单独调用了,
现在新写一个API,需要同时用这两个基类的字段,字段都比较多,不想重写了,
入参的格式也固定下来了,不能改,
怎样写一个入参类,让它与这两个基类都关联上?而不重写字段?
例如,基类A的字段有
String a,
String b,
String c,
基类B的字段有
String x,
String y,
请求的格式为
a:"a1",
b:"b1",
c:"c1",
x:"x1",
y:"y1"
新定义一个类,有两个属性,属性A是基类A,属性B是基类B。前端嗲用api后你将参数弄到一个A一个B上,在set到C里
ClassC
private 基类A a;
private 基类B b;
追问那不是在外面套了一层?请求的格式是A和B的字段都混在同一层里的
追答请求你用Object接,接入后转为JSONObject,在JSONobject分别转类A类B。如图
参考技术A kotlin 可以多继承java之继承
为什么要有继承?
多个类中存在相同属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。子类继承了父类,就继承了父类的属性和方法;在子类中,可以使用父类中定义的方法和属性,也可以创建新的属性和方法;子类中不能直接访问父类的private属性,只能通过set、get方法来获取。
语法:class Student extends Person{}
这里Person就是父类,Student就是子类。
继承的作用:
- 提高了代码的复用性;
- 让类与类之间产生了关系,提供了多态的前提;
- 不要为了去获取其它类中的某个功能而去继承;
java只支持单继承,不允许多继承,也就是说一个子类只能由一个父类,但是一个父类可以派生出多个子类。
也就是说:
public class Student extends Person{}
public class MiddleStudent extends Student{}
这样是正确的。
public MiddleStudent extends Student,Person{}
这样是错误的。
以上是关于Java 是单继承的;那么如何完成“继承多个类”这样的效果?的主要内容,如果未能解决你的问题,请参考以下文章