1.this
在方法内部,可以使用一个隐含的变量this,它始终指向当前实例。因此,通过this.field就可以访问当前实例的字段。
如果没有命名冲突,可以省略this。如果有局部变量和字段重名,那么局部变量优先级更高,就必须加上this。
2.可变参数(无法接收NULL)
可变参数用类型...定义,可变参数相当于数组类型:
class Group {
private String[] names;
public void setNames(String... names) {this.names = names;
}
}
Group g = new Group();
g.setNames("Xiao Ming", "Xiao Hong", "Xiao Jun"); // 传入3个String
g.setNames("Xiao Ming", "Xiao Hong"); // 传入2个String
g.setNames("Xiao Ming"); // 传入1个String
g.setNames(); // 传入0个String
3.string是引用对象,同时也是不可变对象(无法指向新数组)
类似指针(没太懂)
4.一个构造方法可以调用其他构造方法,这样做的目的是便于代码复用。调用其他构造方法的语法是this(…):
class Person {
private String name;
private int age;
public Person(String name, int age) {this.name = name;this.age = age;
}public Person(String name) {this(name, 18); // 调用另一个构造方法Person(String, int)
}public Person() {this("Unnamed"); // 调用另一个构造方法Person(String)
}
}