且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Scala:Trait Companion对象在Java中不可见

更新时间:2023-01-11 11:41:22

查看 javap 输出,您会发现:

$ javap ProtocolPacket
public interface ProtocolPacket extends scala.Serializable{
    public abstract byte[] toByteArray();
}

和同伴对象:

$ javap ProtocolPacket$
public final class ProtocolPacket$ extends java.lang.Object implements scala.ScalaObject,scala.Serializable{
    public static final ProtocolPacket$ MODULE$;
    public static {};
    public void getStreamType(byte[]);
    public java.lang.Object readResolve();
}

这让我相信你可以写的Java:

this makes me believe in Java you can write:

ProtocolPacket$.MODULE$.getStreamType(/**/)