如何隐藏所有java.lang.Object方法以防止代码完成?

如何隐藏所有java.lang.Object方法以防止代码完成?,java,syntax,syntactic-sugar,Java,Syntax,Syntactic Sugar,我想为现有类库创建一些简单的包装器类。为了使语法易于阅读和猜测(通过代码完成),我想删除java.lang.Object的方法 问题是java中所有非原子的东西都继承自Object,因此具有这些方法。我已经尝试通过枚举和接口创建包装器语法,但没有成功;因为枚举和接口也是java.lang.Objects Object有九种方法,我不想在接口的代码完成中看到它们。以下是我想要删除的内容(红色)和我想要保留的内容(绿色): 下面是一些示例代码,用于围绕现有类(生成器模式)创建漂亮的包装器: 新包装

我想为现有类库创建一些简单的包装器类。为了使语法易于阅读和猜测(通过代码完成),我想删除java.lang.Object的方法

问题是java中所有非原子的东西都继承自Object,因此具有这些方法。我已经尝试通过枚举和接口创建包装器语法,但没有成功;因为枚举接口也是java.lang.Objects

Object有九种方法,我不想在接口的代码完成中看到它们。以下是我想要删除的内容(红色)和我想要保留的内容(绿色):

下面是一些示例代码,用于围绕现有类(生成器模式)创建漂亮的包装器:

新包装器代码的用法如下所示:

MyBuilder.build()
         .myMethod1()
         .myMethod2();
将生成器的所有
语句强制转换为一个接口将降低方法的可见性,例如,如果生成器实现多个接口。不幸的是,所有java.lang.Object方法都将保留


如果这种方法在Java中可以隐藏(可能使用注释?),我可以创建一个不依赖IDE的库(无论在哪里都可以完成代码)。如果没有,那么至少Eclipse IDE(可能是插件?)有一个技巧可以提供java.lang.Object方法隐藏。

对于Eclipse 3.4,至少可以执行以下操作:

1) 转到首选项->Java->外观->类型过滤器 2) 单击添加,然后输入
java.lang.Object


现在在代码辅助中,直接从
java.lang.Object
继承的方法将消失

我认为您可能希望将此范围限制到特定的IDE(如Eclipse)。我99%确信IntelliJ IDE能做到这一点(即它将最相关的方法放在第一位)。Thx!如果没有人很快给出基于java的答案,我会接受这个答案。我推荐这种方法。您还可以告诉eclipse要使用哪种类型的建议。问题是,如果您需要尝试,那么从完成时起您就错过了它。只有在键入两个或多个字符时,或者在列表末尾将它们灰显或类似的情况下,才需要更复杂的解决方案来匹配它们。
MyBuilder.build()
         .myMethod1()
         .myMethod2();