Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动将公共更改为私有(Java)_Java_Eclipse_Refactoring_Private - Fatal编程技术网

自动将公共更改为私有(Java)

自动将公共更改为私有(Java),java,eclipse,refactoring,private,Java,Eclipse,Refactoring,Private,我正在对从其他语言翻译成Java的代码进行重构,我想自动进行重构。我的问题是,我有很多方法不是私有的,但它们只是在声明它们的同一个类中被调用,我想使它们成为私有的。我有很多课程,我想如果有什么可以帮助我半自动完成的话,我很想知道 你知道我是否可以寻找这些方法使它们快速私有化?我正在使用Eclipse。也许有一种方法可以将选定文档中的“公共”字替换为“私有”字,并使用“全部替换”功能。但是,如果在方法签名以外的某些代码的内容中有“public”,则会产生副作用,例如,在字符串中 替换您选择的所有方

我正在对从其他语言翻译成Java的代码进行重构,我想自动进行重构。我的问题是,我有很多方法不是私有的,但它们只是在声明它们的同一个类中被调用,我想使它们成为私有的。我有很多课程,我想如果有什么可以帮助我半自动完成的话,我很想知道


你知道我是否可以寻找这些方法使它们快速私有化?我正在使用Eclipse。

也许有一种方法可以将选定文档中的“公共”字替换为“私有”字,并使用“全部替换”功能。但是,如果在方法签名以外的某些代码的内容中有“public”,则会产生副作用,例如,在字符串中


替换您选择的所有方法签名后,请再次检查以确保它们符合您的要求。

需要注意的一点是,由于它假定为公共作用域,您可能会有类之外的类调用该方法。如果你能保证你有所有可能的代码调用这个。您还可以通过鼠标右键单击该方法并使用引用或(ctrl+shift+G)来检查该方法是否正在eclipse中使用,以确保没有where调用该方法


要真正实现从公共到私有的转变,搜索和替换可能是最好的选择。

全部替换是一种选择

但是我建议你不要这样做<代码>私有的和
公共的
是为程序员准备的。如果只从类本身调用一个方法,它并不自动意味着它必须
私有。你能做的最好的事情就是一次检查一个,然后问自己“这个方法是否应该是公共接口的一部分?”

就我个人而言,每当我在一个需要使用的类中遇到
private
方法时,99%的时间我都会离开它
private
,寻找解决方法。那是因为我认为代码的原始作者知道他在做什么。当然,这并不总是适用


private
是一种意向声明。这就像是在说——如果你需要在课外使用这个,你就做错了。您不需要这样做。

如果大部分邮件需要保密,那么您可以使用“查找/替换”将“所有公用”设置为“保密”,然后修复因需要保密而变为红色的邮件。为什么要这样做?如果这是一个生产环境,请不要这样做。