content: package com.alibaba.fastjson2.v1issues.issue_3600;
  
  import com.alibaba.fastjson2.JSON;
  import com.alibaba.fastjson2.JSONWriter;
  import lombok.AllArgsConstructor;
  import lombok.Getter;
  import lombok.Setter;
  import org.junit.jupiter.api.Test;
  
  import static org.junit.jupiter.api.Assertions.assertEquals;
  
  public class Issue3655 {
      private static final String jsonStr =
              "{\"data\":\"\",\"data2\":\"\",\"data3\":\"\",\"data4\":\"\",\"data5\":\"\",\"data6\":\"\",\"data7\":\"\",\"data8\":\"\",\"data9\":\"\"}";
  
      @Test
      public void test_inherit_from_abstract_class_1() {
          issue3655_b b = new issue3655_b(null, null, null, null, null, null, null, null, null);
          String result = JSON.toJSONString(b, JSONWriter.Feature.WriteNulls, JSONWriter.Feature.NullAsDefaultValue);
          System.out.println(result);
          assertEquals(jsonStr, result);
      }
  
      @Test
      public void test_inherit_from_abstract_class_2() {
          issue3655_c c = new issue3655_c(null, null, null, null, null, null, null, null, null);
          String result = JSON.toJSONString(c, JSONWriter.Feature.WriteNulls, JSONWriter.Feature.NullAsDefaultValue);
          System.out.println(result);
          assertEquals(jsonStr, result);
      }
  
      public static class issue3655_b
              extends issue3655_a {
          private String data;
          private String data2;
          private String data3;
          private String data4;
          private String data5;
          private String data6;
          private String data7;
          private String data8;
          private String data9;
  
          public String getData() {
              return data;
          }
  
          public String getData2() {
              return data2;
          }
  
          public String getData3() {
              return data3;
          }
  
          public String getData4() {
              return data4;
          }
  
          public String getData5() {
              return data5;
          }
  
          public String getData6() {
              return data6;
          }
  
          public String getData7() {
              return data7;
          }
  
          public String getData8() {
              return data8;
          }
  
          public String getData9() {
              return data9;
          }
  
          public void setData(String data) {
              this.data = data;
          }
  
          public void setData2(String data2) {
              this.data2 = data2;
          }
  
          public void setData3(String data3) {
              this.data3 = data3;
          }
  
          public void setData4(String data4) {
              this.data4 = data4;
          }
  
          public void setData5(String data5) {
              this.data5 = data5;
          }
  
          public void setData6(String data6) {
              this.data6 = data6;
          }
  
          public void setData7(String data7) {
              this.data7 = data7;
          }
  
          public void setData8(String data8) {
              this.data8 = data8;
          }
  
          public void setData9(String data9) {
              this.data9 = data9;
          }
  
          public issue3655_b(
                  String data, String data2, String data3, String data4, String data5,
                  String data6, String data7, String data8, String data9) {
              this.data = data;
              this.data2 = data2;
              this.data3 = data3;
              this.data4 = data4;
              this.data5 = data5;
              this.data6 = data6;
              this.data7 = data7;
              this.data8 = data8;
              this.data9 = data9;
          }
      }
  
      @Getter
      @Setter
      @AllArgsConstructor
      public static class issue3655_c
              extends issue3655_a {
          private String data;
          private String data2;
          private String data3;
          private String data4;
          private String data5;
          private String data6;
          private String data7;
          private String data8;
          private String data9;
      }
  
      public abstract static class issue3655_a {
          public abstract Object getData();
  
          public abstract Object getData2();
  
          public abstract Object getData3();
  
          public abstract Object getData4();
  
          public abstract Object getData5();
  
          public abstract Object getData6();
  
          public abstract Object getData7();
  
          public abstract Object getData8();
  
          public abstract Object getData9();
      }
  }
  