在构造对象时是否有在java中键入this.x = x的快捷方式?

时间:2015-05-12 18:29:43

标签: java this shortcut

当我将参数(或它是参数?)存储到类的私有实例变量时,是否有更快的方法来编写this.x = x(其中x是构造函数的参数,{{ 1}}是实例变量)?有时使用较长的变量名称,我发现它有点重复,是否有类似this.x等的东西?

我是Java的新手,所以如果我能说得更清楚,请告诉我。

4 个答案:

答案 0 :(得分:4)

不,不是真的。我不确定你的意思是x++ - 这是后缀增量运算符 - 但是分配变量的唯一方法就是分配它们。

例如:

public class Student {

    private String name;
    private int age;
    private double gradePointAverage;

    public Student(String name, int age, double gradePointAverage) {
        this.name = name;
        this.age = age;
        this.gradePointAverage = gradePointAverage;
    }
}

大多数IDE都有自动生成构造函数的快捷方式。例如,IntelliJ允许您键入alt + insert,它将显示一个上下文菜单,允许您自动生成构造函数,getter和setter。

答案 1 :(得分:0)

没有。您可以使用IDE来帮助您。试试EclipseIntelliJ IDEA

使用IDE,您可以Eclipse: Create Getters and SettersIntelliJ: Generating Getters and Setters

答案 2 :(得分:0)

没有办法以更简单的方式做到这一点。如果你想避免这样做,你可以在字段名称或参数变量名称之后加上'1'或'2'。

答案 3 :(得分:0)

一般来说不,没有句法速记。但是有一些方法可以避免这样做。特别是,我是some sources的忠实粉丝,这个项目允许你用最小的样板定义other sources,例如:

@AutoValue
abstract static class Animal {
  static Animal create(String name, int numberOfLegs) {
    return new AutoValue_Animal(name, numberOfLegs);
  }
  abstract String name();
  abstract int numberOfLegs();
}

由于auto/value利用auto/value,对于不使用Maven或Ant的小程序来说,它不是一个好的解决方案,但对于小型项目,你可能不介意温和{{1}冗余。