自动将私有限定符添加到eclipse中的字段

时间:2013-08-04 10:04:13

标签: java eclipse

有没有办法在Eclipse中声明新变量时自动添加私有限定符?

在某种程度上,我想覆盖对私人

的默认访问权限

2 个答案:

答案 0 :(得分:3)

我不知道如何做到这一点。

但是,我编写代码的方式很少有必要。那是因为我很少用手定义字段;相反,我让Eclipse创建它们,当它这样做时,它会使它们变得私有。

假设我要创建一个类Foo,其中包含bar类型的单个字段int。从:

开始
public class Foo {
}

将光标放在类体中,点击控制空间,然后从提议菜单中选择“默认构造函数”。你现在有:

public class Foo {
    public Foo() {
        // TODO Auto-generated constructor stub
    }
}

删除有用的评论。现在手动添加bar的构造函数参数:

public class Foo {
    public Foo(int bar) {
    }
}

现在将光标放在bar的声明上并点击control-1。从提案菜单中,选择“将参数分配给新字段”:

public class Foo {
    private final int bar;

    public Foo(int bar) {
        this.bar = bar;

    }
}

宾果。你现在有一个私人领域。

有一个类似的自动操作序列,可以从方法中的现有表达式创建一个字段(首先创建一个局部变量,然后将其提升为一个字段)。

答案 1 :(得分:0)

如果您认为它比性能和可读性更重要,我想您可以按如下方式配置相对方便的解决方案。我自己不会这样做。

对于类和实例变量,修改首选项中的类模板以合并它:

private static Object fields = new Object () {
    // declare all class variables here
};

private Object vars = new Object () {
    // declare all instance variables here
};

对于局部变量,修改首选项中的方法模板以合并它:

private Object locals = new Object () {
    // declare all local variables here
};

类变量x将在fields中声明。它将在this.class.fields.x隐私。

实例变量y将在vars中声明。它将在this.vars.y隐私。

本地变量z将在locals中声明。它将在locals.z隐私。

如果你这样做,你可以期望你的整个程序更慢,并使用更多的内存。