java类初始化时的一个不能理解的问题?

cheng_long111 2018-01-31 11:03:17
@Data
public class RespEntity {
private int code;
private String msg;
private Object data;

public RespEntity(RespCode respCode){
this.code = respCode.getCode();
this.msg = respCode.getMsg();
}

public RespEntity(RespCode respCode,Object data){
//this()指调用本类中的构造方法,只能存在于构造方法内
this(respCode);
this.data = data;
}

@java.beans.ConstructorProperties({"code", "msg", "data"})
public RespEntity(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}

public RespEntity() {
}

public void setRespCode(RespCode respCode){
this.code = respCode.getCode();
this.msg = respCode.getMsg();
}

protected boolean canEqual(Object other) {
return other instanceof RespEntity;
}

}
这是我的实体类的定义=============================================================
分明是有无参的构造函数,但new这个实体类对象时,出现这种情况:

为什么调用无参的构造器时,code和msg不是默认值0,null呢?
...全文
311 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng_long111 2018-02-01
  • 打赏
  • 举报
回复
多谢大神!!复现不了了,感觉是idea工具的问题,我重新加载一下项目就不会有这个问题了。
cheng_long111 2018-01-31
  • 打赏
  • 举报
回复
再补充:途中code和msg的值是我定义的一个枚举RespCode里的常量。。。。。。。。。。。。。 public enum RespCode { SUCCESS(0, "请求成功"), WARN(-1, "网络异常,请稍后重试"); private int code; private String msg; RespCode(int code, String msg) { this.code = code; this.msg = msg; } public int getCode() { return code; } public String getMsg() { return msg; } public void setCode(int code) { this.code = code; } public void setMsg(String msg) { this.msg = msg; } }
cheng_long111 2018-01-31
  • 打赏
  • 举报
回复
补充:我把类里面的setRespCode()方法改为别的名字就是正常了,用无参构造器new对象时,code和msg为0和null。。 请各位大神指导!!!!!!!!!!!!!1
ChongQingJin28 2018-01-31
  • 打赏
  • 举报
回复

enum RespCode {
    SUCCESS(0, "请求成功"),
    WARN(-1, "网络异常,请稍后重试");

    private int code;
    private String msg;

    RespCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

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

    public void setMsg(String msg) {
        this.msg = msg;
    }
} 


public class CC {
    private int code;
    private String msg;
    private Object data;

    public CC(RespCode respCode){
        this.code = respCode.getCode();
        this.msg = respCode.getMsg();
    }

    public CC(RespCode respCode,Object data){
        //this()指调用本类中的构造方法,只能存在于构造方法内
        this(respCode);
        this.data = data;
    }

	public String toString(){
		return ""+code+msg+data;
	}
	
    @java.beans.ConstructorProperties({"code", "msg", "data"})
    public CC(int code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public CC() {
    }

    public void setRespCode(RespCode respCode){
         this.code = respCode.getCode();
         this.msg = respCode.getMsg();
    }

    protected boolean canEqual(Object other) {
        return other instanceof CC;
    }

	public static void main(String[] args){
		CC c = new CC();
		System.out.println(c);
	}
}


javac CC.java

java -cp . CC
0nullnull
Data 的代码呢?
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧