Java与子类共享父类var

时间:2014-11-14 23:26:32

标签: java android class subclass parent

这是我在我的android项目中尝试做的一个例子:

我有一个类动物,它是一个抽象类作为父母,类Dog和Cat作为子类。 所有动物都有自己的位置。 我创建了一个像这样的新动物:

Animals oDog = new Dog(new Vector3(x,y,z));

我想在Animals类中创建一个方法,如:

public Vector3 getPosition(){
    return mPosition;
}

谁回归动物的位置,我不必在所有动物子类中重写相同的方法。 我不知道如何正确地做到这一点,即使它是可能的。

2 个答案:

答案 0 :(得分:0)

您可以在不制作任何抽象方法的情况下制作抽象类。

只要你不把你的方法抽象化,就应该有效。

答案 1 :(得分:0)

public abstract class Animal{

    private Vector3 position;

    public Animal(Vector3 pos){
        position = pos;
    }

    public Vector3 getPosition(){
        return mPosition;
    }
}

public class Dog extends Animal{

    public Dog(Vector3 pos){
        super(pos);
    }
}

public class Cat extends Animal{

    public Cat(Vector3 pos){
        super(pos);
    }
}

然后,您可以在Animal

的任何具体子类上调用getPosition