小编G33*_*33K的帖子

Java - 我可以扩展类的实例以使其成为父类实例吗?

这是我想要实现的目标的一个小例子。我有一个有很多参数的类 - Dog。我有一个子类JumpyDog,我想了解如何“扩展” 的实例Dog以使其成为 的实例JumpyDog

class Dog {
    int age, numberOfTeeth, grumpiness, manyOtherParameters;
    JumpyDog learnToJump(int height) {
        JumpyDog jumpy = new JumpyDog(this); // I do not want to copy all parameters
        jumpy.jumpHeight=height;
        return jumpy;
    }
}

class JumpyDog extends Dog {
    int jumpHeight;
    void jump(){}
}
Run Code Online (Sandbox Code Playgroud)

或者我可以这样说:

Dog dog=new Dog();
dog.makeJumpy();
dog.jump()
Run Code Online (Sandbox Code Playgroud)

java oop maintainability inheritance instance

6
推荐指数
1
解决办法
3526
查看次数

斯卡拉:为什么AnyVal出现在这里?

这是代码:

val m=scala.collection.mutable.HashMap[String, Long]()
var i=m.get("foo")
i=i+i
Run Code Online (Sandbox Code Playgroud)

这是错误:

Error:(28, 9) type mismatch;
 found   : AnyVal
 required: String
    i=i+i
        ^
Run Code Online (Sandbox Code Playgroud)

为什么i突然变成AnyVal?为什么String这里需要我的地图中的值Long

非常感谢

scala map scala-collections

1
推荐指数
1
解决办法
973
查看次数