Java 自动向eclipse中的字段添加专用限定符

Java 自动向eclipse中的字段添加专用限定符,java,eclipse,Java,Eclipse,在Eclipse中声明新变量时,有没有一种方法可以自动添加私有限定符 在某种程度上,我想重写对私有的默认访问。如果您认为它比性能和可读性更重要,那么我想您可以配置一个相对方便的解决方案,如下所示。我自己不会这么做的 对于类和实例变量,请在首选项中修改类模板以合并以下内容: private static Object fields = new Object () { // declare all class variables here }; private Object vars =

在Eclipse中声明新变量时,有没有一种方法可以自动添加私有限定符


在某种程度上,我想重写对私有

的默认访问。如果您认为它比性能和可读性更重要,那么我想您可以配置一个相对方便的解决方案,如下所示。我自己不会这么做的

对于类和实例变量,请在首选项中修改类模板以合并以下内容:

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
};
对于局部变量,修改首选项中的方法模板以合并以下内容:

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
将在
字段中声明。它将是私有的,位于
this.class.fields.x

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

局部变量
z
将在
locals
中声明。它将在
locals.z
上是私有的


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

我不知道怎么做

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

假设我想创建一个类
Foo
,其中包含一个
bar
类型为
int
的字段。首先:

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

public class Foo {
    public Foo() {
        // TODO Auto-generated constructor stub
    }
}
删除有用的评论。现在手动为
条添加构造函数参数:

public class Foo {
    public Foo(int bar) {
    }
}
现在将光标放在
条的声明上
并点击control-1。从“建议”菜单中,选择“将参数指定给新字段”:

public class Foo {
    private final int bar;

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

    }
}
宾果。您现在有一个私有字段


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

我不认为真的需要此功能。如果您是一名熟练的程序员,那么由您自己编写应该不会有问题。Eclipse通常只在明确要求时才更改代码。您希望如何触发此功能?@Thorbjørnravandersen:您已经可以告诉Eclipse将
final
添加到任何可能的字段中。这是一个保存操作,因此在保存时会检查并抓住机会。将字段设置为私有也可以用同样的方法。@TomAnderson保存操作很好,但它们仍然需要显式启用。我还相信类似的东西会出现在干净的源代码菜单中。@Thorbjørnravandersen:哦,当然,你必须启用它。我假设询问者不希望每个人的Eclipse副本在没有询问他们的情况下对他们的代码执行此操作,只是他的代码。我并不总是使用ctr+1或ctr+2,但可能是我开始更频繁地使用它的时候了。可能有用的方法是在突出显示变量时点击一些快捷方式,使其成为静态的、最终的或私有的(基于快捷方式)但eclipse显然没有。我知道保存操作,但它们适用于整个文件,我不喜欢control-1和control-space是eclipse中最重要的两个按键,你应该开始更多地使用它们。它们很棒!我自己根本不使用control-2,但我知道很多人都这么做。是的,遗憾的是,没有快捷方式来调整这样的变量。遗憾的是,Eclipse仍然有很多有用的功能没有做到。@Tom Anderson Crtl-2 l非常好地使用了ctrl-2,值得使用!@reevesy:谢谢你的提示。ctrl-2 l会给局部变量赋值,对吗?我通常在选择了表达式的情况下使用shift-alt-l,or ctrl-1,然后按下箭头“将语句分配给新的局部变量”。Eclipse的一个优点是有几种不同的风格可以使用它!@Tom,是的,它确实分配给一个本地变量。从未尝试过shift-atl-L将检查它。是的,关于几种不同的风格,你是对的,我已经使用Eclipse很多年了,仍然在寻找快捷方式!