方法(函数)的高级知识
方法也叫函数,指一个类或者对象的行为。前面我们讲过了类中的方法声明和定义等。但是呢,方法还有其他的一些特性。比如方法的参数、方法的返回值、方法的重载等等。
一、方法的语法
[<modifiers>] <return_type> <name>([<arg_list>]) {
[<statements>]
[return type]
}
二、案例
public String getPersonName(String pwd, String username){
// statements
return "";
}
三、方法的参数(arg_list)
-
参数个数:无参数、有参数、可变参数
-
可变参数必须是最后一个参数,用
type...
,可变参数是一个数组-
funcName(type arg1, type arg2, type... arg3)
//arg3就是一个可变参数 -
arg3
就是一个数组类型type[]
-
四、返回值
-
没有返回值:方法的返回值就写
void
-
有返回值的话:分基本类型和引用类型。有返回值,方法中必须有
return
语句
五、方法重载
-
比如一个类中有多个构造器,这就是构造器的重载
-
同样的对于普通的方法来说,也是可以重载的,重载是为了实现多态。比如定义一个旅行的方法
travel(args)
,那么对于旅行的人来说,只要选择不同的旅行套餐就可以了,不需要知道具体的方法内部实现。这个不同的旅行套餐可以理解为不同的参数或类型
六、如何实现重载?
-
重载的方法的名称必须相同
(√)
-
通过参数个数来实现重载
(√)
-
同参数类型来实现重载
(√)
-
返回值类型实现重载?
(×)
六、代码实战
代码的详细解读,可以参考视频教程
package com.qicong.zj.c11;
/**
* User: 祁大聪
*/
public class Person {
public void travel(){
System.out.println("我想旅行");
}
public void travel(String car){
System.out.println("我想旅行,用" + car);
}
public int travel(int car){
System.out.println("我想旅行,用" + car);
return car;
}
//方法重载
public String travel(String car, String train){
System.out.println("我想旅行,用" + car);
return "ok";
}
//可变参数 args
public void travel(String car, String train, String... args){
System.out.println("我想旅行,用" + car);
System.out.println(args.length);
for(String s : args){
System.out.println("s = " + s);
}
}
public static void main(String[] args) {
Person p = new Person();
p.travel("大众","高铁","步行","飞机","轮船");
}
}