📜  可以重写Java中的私有方法吗(1)

📅  最后修改于: 2023-12-03 14:50:38.379000             🧑  作者: Mango

可以重写 Java 中的私有方法吗?

在 Java 中,私有方法是只能被本类中的其他方法所访问的方法。因此,私有方法不会被子类继承,也不会被子类重写。

但是,如果我们确实有必要重写私有方法,有以下几种方法可以实现:

  1. 将私有方法改为受保护的方法(protected),这样子类就能够访问并且重写这个方法了。

  2. 在父类中创建一个公共方法,然后在该方法中调用私有方法。子类可以通过重写公共方法来实现对私有方法的重新实现。

下面是第二种方法的示例代码:

public class Parent {

    // 私有方法
    private void privateMethod() {
        System.out.println("Hello, Private Method!");
    }

    // 公共方法
    public void publicMethod() {
        privateMethod();
    }
}

public class Child extends Parent {

    // 重新实现公共方法
    public void publicMethod() {
        System.out.println("Hello, Overridden Method!");
    }
}

在上面的代码中,子类 Child 重写了父类 Parent 的公共方法 publicMethod(),然后调用了自己的逻辑。当我们使用子类对象调用 publicMethod() 时,它将调用子类中的逻辑而不是父类中的逻辑。

总之,私有方法不能被子类继承或重写。但如果我们有必要对私有方法进行重写,我们可以通过将私有方法改为受保护的方法或者创建公共方法的方式来实现。