6

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

在某种程度上,我想覆盖对私有的默认访问

4

2 回答 2

4

我不知道有什么方法可以做到这一点。

但是,按照我编写代码的方式,它很少是必要的。那是因为我很少手动定义字段;相反,我让 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;

    }
}

答对了。您现在有一个私有字段。

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

于 2013-08-04T11:08:18.517 回答
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

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

于 2013-08-04T11:04:31.173 回答