gpt4 book ai didi

java - 访问子类字段会导致编译器错误

转载 作者:行者123 更新时间:2023-12-01 19:11:05 24 4
gpt4 key购买 nike

我有一个名为 Message 的父类(super class),其中包含字段 String msgType 和一个扩展它的名为 ConnectMessage 的子类,其中包含该字段字符串 pos_X

ConnectMessage的构造函数是:

public ConnectMessage(String msgType, String x){
super(msgType);
this.pos_X = x;}

在主线程内我调用:clientMessage = Message.fromString(inputString);其中 fromString 创建一个 ConnectMessage 实例,如下所示:

ConnectMessage cm = new ConnectMessage(str1, str2);
return cm;

但是当我在主线程中调用 s = clientMessage.pos_X 时,我收到编译器错误,说 Message< 类中没有变量 pos_X/。继承在这里如何工作以及如何解决这个问题,以便语句 clientMessage.pos_X 将意味着在类 ConnectMessage 中定义的 pos_X? p>

最佳答案

这很明显:

您将 clientMessage 声明为 Message 类。该类没有有名为pos_x的字段。

如果您想访问该字段,您必须:

  • pos_x 字段拉到基类
  • clientMessage 转换为 ConnectMessage,即 ((ConnectMessage)message).pos_x

当然,我假设该领域是公开的。

问候

关于java - 访问子类字段会导致编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com