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)
Вы можете найти больше информации здесь