【问题标题】:Java to Scala with multiple constructors [duplicate]具有多个构造函数的 Java 到 Scala [重复]
【发布时间】:2016-02-13 18:31:58
【问题描述】:

我有一个 Java 类,我正在尝试将其重写为 Scala。即使我只使用 1 个,它也有 3 个需要可用的构造函数。

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;
}

任何建议或指示将不胜感激。

【问题讨论】:

  • 你能显示 EntityThrowable 吗?

标签: java scala multiple-constructors


【解决方案1】:

scala 有named argumentsdefault 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)

你可以找到更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多