父类对象转成子类对象

import org.springframework.beans.BeanUtils;
import java.util.ArrayList;
import java.util.List;
public class Test {

    public static void main(String[] args) {
        List<B> bList = new ArrayList<>();
        B b = new B("a","这是a","b","这是b");
        bList.add(b);
        A a1 = new A("a","这是a");
        a1.setBusType(BusType.BUS_TYPE_FMDM);
        a1.setGatherType(AggrType.COUNT);
        B b1 = new B();
        BeanUtils.copyProperties(a1, b1);
        bList.add(b1);
        System.out.println(bList.toArray());
    }
}


class A {
    private String code;
    private String title;
    private BusType busType = BusType.BUS_TYPE_NONE;
    private AggrType gatherType = AggrType.NONE;
    public A() {
    }

    public A(String code, String title) {
        this.code = code;
        this.title = title;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public BusType getBusType() {
        return busType;
    }

    public void setBusType(BusType busType) {
        this.busType = busType;
    }

    public AggrType getGatherType() {
        return gatherType;
    }

    public void setGatherType(AggrType gatherType) {
        this.gatherType = gatherType;
    }
}

class B extends A{
    private String id;
    private String name;

    public B(String code, String title) {
        super(code, title);
    }

    public B(String code, String title, String id, String name) {
        super(code, title);
        this.id = id;
        this.name = name;
    }

    public B() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

你可能感兴趣的:(Demo,java,开发语言)