如何 replace/substitute 任何重复出现的 class 或 Java 中具有更短或更简单字符串的方法名称

How to replace/substitute any recurring class or method name with shorter or simpler string in Java

好的,所以我想做的是为一长串重复出现的 class 或对象名称分配一个备用名称。例如

public class Example
{
    public static void main(String[] args)
    {
      Hello k= new Hello();
      k.HelloWorld();
    }
}
class Hello
{
   public void HelloWorld()
   {
       System.out.println("Hello World");
   }
}

所以我想在这里发生的是我想保持方法的名称 "HelloWorld" 不变,但我想使用 "HW"(说),这样我就可以写

 k.HW();

无需添加超过 2 行代码即可调用 "HelloWorld"。

我知道这很琐碎,但我只是好奇,想知道是否可行。

在编译时,调用的方法必须与现有方法的确切名称相匹配。
所以你必须写:

Hello k= new Hello();
k.HelloWorld();

保留有意义的名称很重要。

现在现代 IDE 可以帮助您。
你可以写类似的东西,然后自动补全机制可能会帮助你提出匹配方法。

例如,对于 Eclipse,输入:

k.hw + ctrl space(默认自动完成键),Eclipse 将搜索 Hello class 中以 h(大写或小写)开头的方法) 然后有一个 W 大写字符。
所以它会提出这个方法 (HelloWorld()),你只需要 select 它就可以完成方法调用的代码。

无论您使用的 IDE 是什么,都存在限制。

有像 Lombok (https://projectlombok.org) 这样的工具可以让您停止在 类 上编写 getters 和 setters 方法,因此,您的 POJO 会变小,但随后您可以从任何地方调用任何 getter 或 setter。

但那是 IDE 修改。

如果您想在运行时执行此操作,您可以使用反射和 Javassist 来完成。

Javassist 允许您在运行时创建和修改 类,您可以以编程方式添加 HW() 方法,然后使用 Reflection (Method.invoke())

调用它