抽象超类是否应该包含受保护的非抽象方法,这些方法将由某些子类而不是所有子类使用

问题描述 投票:0回答:1

我有一个抽象类如下:

public class AbstractClass {
   
    private String getA() {
       return "A";
    }
    
    protected String getB() {
        return getA().concat("-B");
    }

}

现在,所有子类都将使用

getB()
方法。这就是我成功的原因
protected
。但并不是所有的子类都会使用
getA()
方法。只有一个子集会使用它。那么,我应该继续做
protected
还是保留它
private

java oop inheritance abstract-class
1个回答
0
投票

如果您将

getA()
设为私有,则任何子类都无法访问它。
因此,您被迫将其保护(或公开)。

© www.soinside.com 2019 - 2024. All rights reserved.