在只应由其子级使用的父类中创建方法的正确方法?

时间:2019-12-11 11:55:48

标签: java methods architecture overriding

我有几个父母班的孩子。我希望父母实施返回数据的方法。但是,这些数据只能由孩子正确填充。

这是用Java做到这一点的理想方法吗?有没有办法让只有孩子才能调用该方法?

public class MyParent {
    public MyData getData() {

    }
}

public class MyChildA extends MyParent {
    @override
    public MyData getData() {

    }
}

2 个答案:

答案 0 :(得分:1)

尝试一下抽象类。

抽象类是被声明为抽象的类-它可能包含也可能不包含抽象方法。抽象类不能被实例化,但是可以被子类化。

抽象方法是这样一种方法,该方法无需实现即可声明(不带花括号,后跟分号),如下所示:

abstract void moveTo(double deltaX, double deltaY);

如果类包含抽象方法,则必须将类本身声明为抽象,如:

public abstract class GraphicObject {
   // declare fields
   // declare nonabstract methods
   abstract void draw();
}

希望有帮助。

答案 1 :(得分:0)

使您的父类成为Abstract类。

public abstract class MyParent {
    public abstract void getData();
}

public class MyChildA extends MyParent {
    @Override
    public void getData() {
        // statements
    }
}

您的问题有点模棱两可,所以我不知道这是否是您想要的。