已经好长时间没用java的我,在用了一段时间的scala和python的之后,今天用java定义一个函数,想在定义时给他默认值,发现爆红了,才发现java本身没有这个功能.但是我们可以用一些"方法"来实现这个功能.建议直接看第三种方法
一. 构造方法 :这种方法方法的缺点就是不能在默认和传承之间自由切换
public class Test{
private String name;
private int age;
public void Test(){
name="xxx";
age=25;
}
public void Test(String name, int age){
this.name=name;
this.age=age;
}
}
二. 方法重载,这种方法感觉比什么灵活一点,但是感觉跟我想要的还差点感觉
public class Test{
public String name;
public String age;
//默认参数
public void test1(){
name="xxx";
age=25;
}
//默认age
public void test1(String name){
this.name=name;
age=25;
}
//传参
public void test1(String name,int age ){
this.name=name;
this.age=age;
}
}
三. 不固定参数,这个就比上面的灵活多了,但是需要自己定义逻辑,下面的这是一个举例
public class Test3 {
public String name;
public String age;
public void test3(String name,int ...age){
if(age.length == 1){
this.age=age[0];
}else{
this.age=25;
}
}
}