Java в Scala с несколькими конструкторами

У меня есть класс Java, который я пытаюсь переписать в Scala. Он имеет 3 конструктора, которые должны быть доступны, хотя я использую только 1.

public class EntityNet extends EntityThrowable {

@SuppressWarnings("unused")
public EntityNet(World world) {
    super(world);
    renderDistanceWeight = 10.0D;
}

@SuppressWarnings("unused")
public EntityNet(World world, double x, double y, double z) {
    super(world, x, y, z);
    renderDistanceWeight = 10.0D;
}

public EntityNet(World world, EntityLivingBase shooter) {
    super(world, shooter);
    renderDistanceWeight = 10.0D;
}

Любые предложения или направления будут оценены.

1 ответ

Скала имеет named arguments а также default values for arguments, вот пример:

class HashMap[K,V](initialCapacity:Int = 16, loadFactor:Float = 0.75f) {
}
// Uses the defaults
val m1 = new HashMap[String,Int]
// initialCapacity 20, default loadFactor
val m2= new HashMap[String,Int](20)
// overriding both
val m3 = new HashMap[String,Int](20,0.8f)
// override only the loadFactory via
// named arguments
val m4 = new HashMap[String,Int](loadFactor = 0.8f)

Вы можете найти больше информации здесь

Другие вопросы по тегам