美文网首页
继承之后调用子类的toString方法为什么不会输出父类属性?

继承之后调用子类的toString方法为什么不会输出父类属性?

作者: 王贺祥_三月 | 来源:发表于2020-11-15 15:19 被阅读0次

引用lombok插件之后,实体类的编写就变得简单了,只需要给实体类加个@Data注解,就不需要我们再书写get、set、tostring等方法了。因为@Data帮我们都加好了。


image.png

今天写多表查询时用到了一个实体类继承另一个实体类,按理说如果有toString方法那么输出子类的对象就会输出所有的变量,包括父类的。但是我测试时控制台却只输出了子类的变量。

挣扎了一段时间后终于发现是lombok的问题:@Data修饰注解包含了getter,setter,tostring,所以此处的tostring如果不设置参数的话,打印string的时候只会包含子类的属性
解决:在@Data的基础上再加一个@ToString(callSuper = true)注解,callSuper = true即解决缺少父类属性的问题。

参考:https://blog.csdn.net/wwrzyy/article/details/85090214

相关文章

  • Python基础语法(九)继承

    继承 Python 格式: 私有方法、属性不会被继承,所以子类不能调用父类的方法或属性 多继承 格式: 多继承扩展

  • 继承之后调用子类的toString方法为什么不会输出父类属性?

    引用lombok插件之后,实体类的编写就变得简单了,只需要给实体类加个@Data注解,就不需要我们再书写get、s...

  • 子类将继承父类所有的方法和属性吗?为什么?子类不能继承父类的所有方法和属性,只能继承父类所有的非private(私...

  • Dart面向对象编程二

    继承 使用关键字extends继承一个类 子类会继承父类可见的属性和方法,不会继承构造方法 子类能够复写父类的方法...

  • JAVA三大特性——继承

    继承 继承是指一个类(子类)继承于另外一个类(父类),子类从父类继承到的内容是父类的属性和方法,子类可以在内部调用...

  • 13、【Swift】继承 - Inheritance

    区分【类】和其他类型的一个特征:继承 子类 继承 超类(父类)的属性、方法和下标。可调用、重写父类的方法、属性和下...

  • 类的定义与继承

    类 类的继承 重写,子类可以重写父类的方法和属性 子类里,如果重写了父类的方法后,如果还想调用父类的方法,通过su...

  • Java学习第11天

    继承: 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法,或子类从父类继承方法,使得子类具有父类相同的行...

  • java中的继承与多态

    1、 什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法...

  • PHP 继承、封装、多态

    一、继承 -子类只能继承父类的非私有属性-子类继承父类后,相当于将父类的属性和方法copy到子类,可以直接使用$t...

网友评论

      本文标题:继承之后调用子类的toString方法为什么不会输出父类属性?

      本文链接:https://www.haomeiwen.com/subject/lksnbktx.html