Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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、IntelliJ_Java_Intellij Idea_Ide_Keyboard Shortcuts - Fatal编程技术网

将公共项目转换为私有项目-Java、IntelliJ

将公共项目转换为私有项目-Java、IntelliJ,java,intellij-idea,ide,keyboard-shortcuts,Java,Intellij Idea,Ide,Keyboard Shortcuts,我只是想知道是否有一种方法可以通过一个简单的按钮或其他东西使公共项(字段、方法)私有化 public Group wQ; public Group wA1; public Group wA2; public Group wA3; public Group wG1; public Group wG2; public Group wG3; public Group wS1; public Group wS2; public Group wB1; public Group wB2; 例如,在一个步骤

我只是想知道是否有一种方法可以通过一个简单的按钮或其他东西使公共项(字段、方法)私有化

public Group wQ;
public Group wA1;
public Group wA2;
public Group wA3;
public Group wG1;
public Group wG2;
public Group wG3;
public Group wS1;
public Group wS2;
public Group wB1;
public Group wB2;

例如,在一个步骤中将所有这些字段设置为私有,而不将public替换为private。顺便说一句,我使用IntelliJ IDEA。

我将使用CTRL+R查找“public”并将其替换为“private”。

您要查找的函数称为封装字段

  • 在要编辑的类内单击鼠标右键
  • 选择重构
  • 选择封装字段…
  • 选中所有公共字段旁边的复选框
  • 然后,您可以配置为通过访问器提供设置/获取访问权限,或仅通过下面的复选框获取访问权限
  • 选择重构
  • 请注意,此方法为您选择的所有字段生成getter(如果您选择了getter,还将生成setter)。如果不需要这些getter,可以选择其他选项之一,或者简单地删除生成的getter。似乎没有办法选择不创建getter


    或者,您可以使用多行选择

  • 将光标设置在第一个
    public
    关键字的末尾
  • 按住鼠标中键
  • 将鼠标向下拖动到
    public
    块的末尾
  • 使用退格/键入新的
    private
    关键字,同时编辑行。

  • 作为第三种方法,您可以使用查找并替换。它有一些漂亮的选择,让你可以很好地控制你在做什么

  • 选择菜单“编辑”
  • 选择查找
  • 选择替换

  • 选择带有
    public
    字段的文本块

  • 在选择中选择正则表达式匹配大小写
  • 在上面的字段中,输入
    ^(\s*)public(.*)$
  • 在下方字段中,输入
    $1私人$2
  • 现在将突出显示所有替换项。检查它们是否正确。您可以使用上方文本框旁边的蓝色箭头逐步浏览它们

  • 选择“全部替换”

  • 除此之外,还有另一种方法可以让IntelliJ自动执行,而无需生成setter/getter,同时还可以检查您是否会破坏代码:

    右键单击类或包→ 分析→ 按名称运行检查→


    IntelliJ将根据使用情况搜索类中可视性降低的成员。扫描后,您可以自动更新它。

    我确信有一种方法可以向下扩展光标,使您能够一次在多行上键入。尝试向下拖动鼠标中键(可能是它)。当然,另一种选择是查找/替换。是的,我使用了查找/替换方法,但它似乎效率很低。非常好的帖子,你可以提供更多的可信度,并引用这个术语,使它们在当今的IDE中变得流行,IDE只是他提出的最常见重构目录的自动实现。仍然有太多人不知道自动重构,走出去宣传这个信息;)非常好的帖子,非常感谢你制作的所有动画。非常感谢你!这种方法的问题是,您可能最终会将一些公共方法设置为私有。