JAVA继承,父类子类使用及相互转换

1.先创建基础转换类:

import cn.hutool.core.bean.BeanUtil;

public class BaseDto <EntityT> {
    public void toEntity(EntityT entity) {
        BeanUtil.copyProperties(this, entity);
    }

    public void fromEntity(EntityT entity) {
        BeanUtil.copyProperties(entity, this);
    }
}

2.创建基础父类:

import lombok.Data;

@Data
public class BaseTest {

    private Integer id;

    private String mobile;
    
    private String nickname;
    
    private Integer sex;
}

3.创建你需要使用的子类:

import com.cdzwxc.paper.portal.dto.common.BaseDto;
import lombok.Data;

@Data
public class MyClassTest extends BaseDto<BaseTest> {
    private Integer id;

    private String mobile;

    private String nickname;

    private Integer age;
}

4.使用说明

        //子类赋值到父类--注:如果字段名称不对应或缺少的,则不赋值为空
        MyClassTest myClass = new MyClassTest();
        myClass.setId(100);
        myClass.setMobile("123456789");
        myClass.setNickname("test001");
        myClass.setAge(12);
        //赋值到父类--其中父类中的 sex 性别字段在子类中没有,则父类的 sex=null
        BaseTest baseTest=new BaseTest();
        myClass.toEntity(baseTest);
        //----------------------------------------------------------------//
        //父类赋值到子类--注:如果字段名称不对应或缺少的,则不赋值为空
        BaseTest baseTest=new BaseTest();
        baseTest.setId(101);
        baseTest.setMobile("987654321");
        baseTest.setNickname("test002");
        baseTest.setSex(2);
        //父类赋值到子类--其中子类中的 age 年龄字段在父类中没有,则子类的 age=null
        MyClassTest myClass = new MyClassTest();
        myClass.fromEntity(baseTest);

猜你喜欢

转载自blog.csdn.net/u012402739/article/details/121789128