Skip to main content
 首页 » 编程设计

类似于 Python 的 Java 类列表

2025年05月04日22mfrbuaa

我有一些继承自抽象 Packet 的类(这个类有一个名为 read 的抽象方法,它从 ByteBuffer 中读取)。

在 Python 中我会做类似...

class Blabla(Packet): 
    pass 
class Blabla2(Packet): 
    pass 

然后我会像这样初始化列表中的每个类

_packets = [Blabla, Blabla2] 

当我识别数据包的 id 时,我会这样做

pck = _packets[packetId]() 

想在 java 中做同样的事情。有没有什么快速的方法(除了用switch)

请您参考如下方法:

是的,可以用 Java 做一些非常相似的事情。

您可能有一个列表 Class对象,然后调用 list.get(packetId).newInstance() 来创建正确类的实例。

参见 Javadoc .