当前位置:  开发笔记 > 编程语言 > 正文

如何从代码完成中隐藏所有java.lang.Object方法?

如何解决《如何从代码完成中隐藏所有java.lang.Object方法?》经验,为你挑选了1个好方法。

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

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

java.lang.Object有九个方法,我不希望在我的接口的代码完成中看到.这是我要删除的内容(红色)和我想要保留的内容(绿色):

alt text http://ju.venile.de/upload/java-lang-object-methods.png

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

public interface IMySyntax{
  public IMySyntax myMethod1();
  public IMySyntax myMethod2();
}

public class MyBuilder implements IMySyntax{
  public static IMySyntax build(){ return (IMySyntax) new MyBuilder() }
  public IMySyntax myMethod1(){ /* do something */ return (IMySyntax) this }
  public IMySyntax myMethod2(){ /* do something */ return (IMySyntax) this }     
}

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

MyBuilder.build()
         .myMethod1()
         .myMethod2();

this将构建器的所有语句强制转换为接口将降低方法可见性,例如,如果构建器实现了多个接口.遗憾的是,所有java.lang.Object方法都将保留.

如果这种方法隐藏在Java中是可能的(可能使用Annotations?),我可以创建一个与IDE无关的好库(各处都有很好的代码完成).如果不是,那么至少Eclipse IDE(可能是一个插件?)可以提供一个可以提供java.lang.Object方法隐藏的技巧.



1> Il-Bhima..:

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

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

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

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有