Java 不确定抽象泛型类中的命名约定是否有效

Java 不确定抽象泛型类中的命名约定是否有效,java,interface,java-8,abstract-class,dto,Java,Interface,Java 8,Abstract Class,Dto,有一个问题,我找不到这个变量的有效名称S itemState和D itemDTO,因为如果你得到了你真正想要的对象,这些名称会让人困惑(例如S extends itemState,你真的得到了S类型,而不是itemState) 公共抽象类ItemData 实现ItemDataInterface{ 私人物品和国家; 私人D项; //代码 } 我应该使用ex前缀还是指定的(在我看来太长了)?由于@J_mie6注释,我使用了: private S state; private D dto; 它被认

有一个问题,我找不到这个变量的有效名称
S itemState
D itemDTO
,因为如果你得到了你真正想要的对象,这些名称会让人困惑(例如
S extends itemState
,你真的得到了
S
类型,而不是
itemState

公共抽象类ItemData
实现ItemDataInterface{
私人物品和国家;
私人D项;
//代码
}

我应该使用
ex
前缀还是
指定的
(在我看来太长了)?

由于@J_mie6注释,我使用了:

private S state;
private D dto;

它被认为是最好的选择。

也许可以将类
ItemState
重命名为
BaseItemState
?为什么不使用State extends ItemState和DTO extends itemsdt?混淆源于试图以变量的类型而不是角色命名变量。如果角色非常通用,其类型已经在描述它,
itemState
就可以了。在Java中,每个引用类型变量都可能指向子类的一个实例,这一点您不必每次都强调。考虑AWT:<代码>容器。添加(组件组件)< /代码>;当然,
component
可以是
component
的子类,事实上,它总是这样,就像
component
抽象的
。但是没有理由在参数变量名中强调这一微不足道的事实。
private S state;
private D dto;