Java中的父类与子类
父类子类相关问题:1. 返回值 2. 参数列表 3. 内部返回 4. 类型传递
. 关于父类子类互传
前提:A方法调用B方法
关于A方法接收B方法的返回值
- 如果B方法定义的返回值是父类(Student),能不能在A中用(子类)StudentVo接收?不行
- 如果B方法定义的返回值是子类(StudentVo),能不能在A中用父类(Student)接收?可以
关于传参
- 如果B方法的参数列表是父类(Student),能不能将子类(StudentVo)传入参数列表?可以
- 如果B方法的参数列表是子类(StudentVo),能不能将父类(Student)传入参数列表?不行
关于B方法内部的返回值
- B方法内部,如果方法定义的返回值是父类(Student),我们可以将子类(StudentVo)进行返回
- B方法内部,如果方法定义的返回值是子类(StudentVo),能不能将父类(Student)返回?不行
总结:定义父类接纳子类,定义子类不接纳父类
. 关于父类接纳子类属性
出现了一个事情所以出现了这个测试:Mapper层查询的是StudentVo,返回给Service的是Vo,但是Service是用Student接收的。结果返回给前端的时候还把子类特有的属性给返回了。我和瑞哥一脸懵逼,这是为什么?
参考代码:
1 |
|
1 |
|
结果就是确实是有这种情况了,B
方法返回的是Student
,但实际返回的是StudentVo
。在A
方法中打印Student
对象时,由于对象本身是StudentVo
类型,因此可以访问到StudentVo
特有的属性。
Java中的父类与子类
http://wahoyu.xyz/2024/08/02/FatherAndSon/