我们可以在Java封装中使方法私有吗?

问题描述

要实现封装,我们将成员设为私有(变量),并使用getter和setter方法进行数据隐藏,这就是我们实现数据隐藏的方式。因此,以同样的方式,我们可以将方法设为私有方法并使用getter或setter方法访问它吗? (或者还有其他方法可以做到)

解决方法

在Java中,私有方法是具有私有访问修饰符的方法,并且只能在定义类中访问,并且由于不符合覆盖条件而在其子类中不可见。但是,我们可以在子类中定义一个具有相同名称的方法,并且可以在父类中进行访问。 我不认为出于相同的原因可以有getter和setter方法。

,

当然,您可以将方法定义为list = np.concatenate(input_list).ravel() ,以便只能(本质上)从同一类中的其他方法调用该方法。这是很常见的做法。例如,我可能提供一种方法.tolist(),其中private的实际值不仅仅是一个实例变量,而是通过使用其他(私有)方法计算得出的值。对于该类的用户,getFoo()返回一些名为“ foo”的数据,但无法查看其来源-是存储,派生还是组合。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...