gpt4 book ai didi

java - 访问未定义的方法

转载 作者:行者123 更新时间:2023-12-01 10:39:02 26 4
gpt4 key购买 nike

我在另一个类中定义了以下方法build,该方法基本上使用了PD.javaSD.java这两个类如下所述。方法代码如下:

protected String build(final PD pd) {
if (pd == null || pd.getField() == null) {
return null;
} else {
return " ORDER BY " + pd.getFieldName() + ' ' + pd.getDirection().getCommand();
}
}

我的问题:

如下面的PD.java所示,它定义了getDirection()方法,但没有定义getCommand()getCommand() 方法在 SD.java 中定义。因此,我想知道在上面的 build 方法中,以下访问方法的方式是否正确?

pd.getDirection().getCommand();

请考虑以下类(class):

类名:SD.java

public enum SD implements MappableEnum<SD> {

ASCENDING("A", "Ascending", "ASC"),
DESCENDING("D", "Descending", "DESC"),

;

private final String code;
private final String description;
private final String command;

private static final Map<String, SD> CODE_MAP =
MappableEnumUtil.buildCodeMap(SD.class);

private SD(final String code, final String description, final String command) {
this.code = code;
this.description = description;
this.command = command;
}

@JsonValue
@Override
public String getCode() {
return code;
}

@Override
public String getDescription() {
return description;
}

@Override
public SD toEnum(final String code) {
return fromCode(code);
}

public String getCommand() {
return command;
}

@JsonCreator
public static SD fromCode(final String code) {
return CODE_MAP.get(code);
}

public static SD fromCode(final char code) {
return fromCode(String.valueOf(code));
}

}

类名:PD.java

public class PD<F extends SF> {

private final F field;

private final Integer limit;

private final Integer offset;

private final SD direction;

public PD(final F field, final Integer limit, final Integer offset, final SD direction) {
this.field = field;
this.limit = limit;
this.offset = offset;
this.direction = direction;
}

public F getField() {
return field;
}

public String getFieldName() {
return field.getColumnName();
}

public Integer getLimit() {
return limit;
}

public Integer getOffset() {
return offset;
}

public SD getDirection() {
return direction;
}
}

最佳答案

由于 SD 类型是 PD 类中的变量,因此它可以访问为 SD 类定义的任何公共(public)方法。如果该方法在SD中的可见性不是公开的,那么它将无法访问该方法。

关于java - 访问未定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34517963/

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