Java:有没有办法强制执行私有(private)方法?

标签 java oop

我有 5 或 6 个类,我希望它们在内部遵循相同的基本结构。实际上,类应该遵循的大多数只是为了使用函数本身,所以我真的希望这些方法是私有(private)的。

有什么办法可以实现吗?我知道接口(interface)会很好用,但它们不会采用私有(private)成员,也不允许您在已实现的方法中重新定义范围。有什么解决方法吗?

谢谢

最佳答案

我认为你能得到的最接近的方法是使用一个带有abstractprotected方法的abstract类:

abstract class A {
    protected abstract void foo();
}

class B extends A {
    protected void foo() {}
}

要定义公共(public)逻辑,您可以从父类(super class)中的私有(private)方法调用 protected 方法:

abstract class A {
    private void bar() {
        // do common stuff
        foo();
    }
    protected abstract void foo();
}

通过这种方式,您可以让子类填充私有(private)公共(public) template method具有特定的行为。

关于Java:有没有办法强制执行私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986191/

相关文章:

java - 如何根据第一次出现拆分字符串?

java - 如何在用java打开文件之前等待windows进程完成

c# - 抽象方法与接口(interface)

c# - 在 C# 中模拟基数分配有多接近

ruby - 为什么 Rails 使用 RUBY_EVAL 来定义方法?

Java,Slick,一个不应该移动的物体正在移动?

java - 找不到时异常

java - Postgresql 从表中返回 SETOF 行

c - 如何用 C 语言编写面向对象的代码?

c++ - 在派生类中创建具有相同名称但不同返回类型的新函数