方法
468字约2分钟
2024-08-10
定义方法
定义方法的语法
修饰符 方法返回类型 方法名(方法参数列表) {
若干方法语句;
return 方法返回值;
}
方法返回值通过 return
语句实现,如果没有返回值,返回类型设置为 void
,可以省略 return
private 修饰符
private
修饰的 field
后,外部无法直接访问 field
,就不能随便修改 field
的值了
class Person {
private String name;
private Integer age;
}
我们可以提供方法来修改 field
的值
public class Person {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
private 方法
有 public
方法,自然就有 private
方法。和 private
字段一样,private
方法不允许外部调用,只能内部调用
public class Person {
public String name;
public String age;
private String hello() {
return "hello";
}
}
this 变量
在方法内部,可以使用一个隐含的变量 this
,它始终指向当前实例。因此,通过 this.field
就可以访问当前实例的字段
如果没有命名冲突,可以省略 this
public class Person {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
方法参数
方法可以包含 0
个或任意个参数。方法参数用于接收传递给方法的变量值。调用方法时,必须严格按照参数的定义一一传递
public class Person {
private String name;
private Integer age;
private void setNameAndAge(String name, Integer age) {
this.name = name;
this.age = age;
}
}
可变参数
可变参数用类型 ...
定义,可变参数相当于数组类型
class Group {
private String[] names;
public void setNames(String... names) {
this.names = names;
}
public static void main(String[] args) {
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
}
}