java私有方法的相关问题

img


在我圈出来的地方
请问他所谓的“不成为公共接口一部分”
和最后“由于与当前实现关系联系非常紧密等等”这个因果是什么含义呢?没太读懂

含义就是
你写了个一个类

public class A{
    public void a(){
        b();
        c();
    }
    public void b(){
        
    }
    public void c(){
        
    }
}

这时候如果外部A a = new A();那么你的a,b,c方法都可以被调用。但其实你的b,c方法你的a调用了,而且你只需要暴露a给外部调用就够了,此时b,c没必要暴露,你就可以把b,c变成私有的,不让外部调用。

public class A{
    public void a(){
        b();
        c();
    }
    private void b(){
        
    }
    private void c(){
        
    }
}

他这是是相当于面向对象的三大特征之一的封装,就好像你一个类里面有一些成员变量,你需要将这些变量私有化,然后再设置两个设置和获取的方法来获取这些私有的成员变量,因为这些成员变量往往是对象实例化不能直接调用的,这些成员变量相当于就是我们人的一些特征,比如身高体重性别,一般都是不能直接改的,如果你不设置我私有的那么任何人调用你这个类他都可以改