将 public 项变成私有项 - Java,IntelliJ

Turning public items into private items - Java, IntelliJ

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

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 替换为私有。我使用 IntelliJ IDEA 顺便说一句。

我会使用 CTRL+R 将 "public" 查找并替换为 "private"。

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

  1. 在要编辑的 class 内右键单击
  2. Select 重构.
  3. Select 封装字段...
  4. 选中所有 public 字段旁边的复选框
  5. 然后您可以配置为通过访问器提供 set/get 访问权限或仅通过下面的复选框获得访问权限。
  6. Select 重构.

请注意,此方法会为您 select 的所有字段生成 getter(如果您选择这样,也会生成 setter)。如果您不想要这些 getter,您可以选择其他选项之一或简单地删除生成的 getter。似乎没有办法选择不创建吸气剂。


或者,您可以使用多线select离子

  1. 将光标设置在第一个 public 关键字的末尾。
  2. 按住 鼠标中键
  3. 将鼠标向下拖动到 public 块的末尾。
  4. 使用 backspace/typing 新的 private 关键字同时编辑行。

作为第三种方法,您可以使用查找并替换。它有一些漂亮的选项,让您可以很好地控制您正在做的事情。

  1. Select 菜单 编辑.
  2. Select 查找.
  3. Select 替换.

  4. Select 包含 public 个字段的文本块。

  5. Select Regex, 匹配大小写In Selection.
  6. 在上方字段中,输入 ^(\s*)public(.*)$
  7. 在下方字段中,输入 private
  8. 现在将突出显示所有替换项。检查它们是否正确。您可以使用上方文本框旁边的蓝色箭头逐步浏览它们。

  9. Select 全部替换.

除了 之外,还有另一种方法可以让 IntelliJ 自动执行此操作而不生成 setters/getters,同时还会检查您是否会破坏代码:

Rightclick on the class or package → Analyze → Run Inspection by Name → Declaration access can be weaker

IntelliJ 将在您的 class 中搜索可根据使用情况降低可见度的成员。扫描后您可以让它自动更新。