3.1 方法的重載
方法重載:方法名稱相同,但是參數的類型或個數不同
public class Demo01 {
/**
* @param args the command line arguments
*/
int add(int a,int b){
System.out.print("方法一:");
return a+b;
}
int add(int a, int b,int c){
System.out.print("方法二:");
return a+b+c;
}
int add(int a,String b){
System.out.print("方法三:");
return a+Integer.parseInt(b);
}
public static void main(String[] args) {
// TODO code application logic here
Demo01 demo=new Demo01();
System.out.println(demo.add(3, 4));
System.out.println(demo.add(3, 4,5));
System.out.println(demo.add(3, "4"));
}
}
3.2static靜態方法
Static方法屬於類本身;調用方法:1.類名.方法;2.對象.方法
普通方法:方法屬於類的對象;調用方法:1,對象.方法
public class Demo02 {
/**
* @param args the command line arguments
*/
void fun01(){
System.out.println("這是一個普通方法");
}
static void fun02(){
System.out.println("這是一個靜態方法");
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
// TODO code application logic here
Demo02 demo=new Demo02();
demo.fun01();
Demo02.fun02();
demo.fun02();
}
}
3.3 遞歸方法
方法同過直接或間接的方式自己調用自己
public class Demo03 {
/**
* @param args the command line arguments
*/
static long notDiGui(int n){
long result=1;
for(int i=1;i<=n;i++){
result=result*i;
}
return result;
}
static long diGui(int n){
if(n==1){
return 1;
}else
return n*diGui(n-1);
}
//斐波那契數列
static int fibonacci(int n){
if(n==1 || n==2){
return 1;
}else
return fibonacci(n-2)+fibonacci(n-1);
}
public static void main(String[] args) {
// TODO code application logic here
System.out.println(Demo03.notDiGui(5));
System.out.println(Demo03.diGui(5));
System.out.println(Demo03.fibonacci(6));
}
}