方法


定义方法_

  • 无参数无返回值的方法
  • 无参数有返回值的方法
  • 有参数无返回值的方法
  • 有参数有返回值的方法
无参数无返回值的方法
	function(); //调用方法
	
	public static void function(){
		System.out.println("无参数无返回值的方法");
	}
无参数有返回值的方法
	int i = function(); //输出 3
	
	public static int function(){
		int a = 1;
		int b = 2;
		return a + b;
	}
有参数无返回值的方法
	int i = 1;
	function(i); 
	
	public static void function(int i){
		System.out.println(i);// 输出 1
	}
有参数有返回值的方法
	int j = 2;
	int i = 1;
	function(i,j); 
	
	public static int function(int i,int j){
		return a + b;
	}

形参和实参_

  • 形参: 方法定义中的参数,等同于变量,如果有多个参数就使用逗号隔开
  • 实参:方法调用中的参数(一般都是常量值,或者变量)

方法的注意事项

  • 方法要先定义才能调用
  • 方法不调用不会执行
  • 方法不能嵌套方法(方法和方法之间是平级关系)
  • 无返回值方法,方法体中一般不加return语句,如果要加return语句,只能这么写: return;,表示结束方法的执行,并且该return后面不可以添加代码

方法重载


什么是方法重载_

  1. 同一个类中,出现了多个同名的方法,并且参数列表不同,与返回值类型,修饰符无关
  2. 参数类型不同,参数个数不同,以及同类型参数顺序不同,与参数名没有关系
public  class Demo(){
		public static void main(String[] args){
			
		}
		// 下面两个函数够成重载 方法名相同但数量个数不同
		public static void function(int a){
		}
		public static void function(int a,int b){
		}
	}
public  class Demo(){
		public static void main(String[] args){
			
		}
		// 下面两个函数构成重载 方法名相同但数据类型不同
		public static void function(int a){
		}
		public static void function(double a){
		}
	}
public  class Demo(){
		public static void main(String[] args){
			
		}
		// 下面两个函数构成重载 方法名相同但循序不同
		public static void function(int a,String b){
		}
		public static void function(String b,int a){
		}
	}
public  class Demo(){
		public static void main(String[] args){
			
		}
		// 下面两个函数不构成重载 数据类型不同并不能构成重载
		public static double function(int a){
		}
		public static int function(int a){
		}
	}

方法参数传递基本类型_

  • 基本类型:对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
public  class Demo(){
		public static void main(String[] args){
			int num = 100;
			System.out.println(num);// 输出 100
			change(num);
			System.out.println(num);// 输出 100
		}
		public static void change(int num){    // 传递的是数值
			num = 200
		}
	}

方法参数传递引用类型_

  • 引用类型: 对于引用类型的参数,形式参数的改变,影响实际参数的值
public  class Demo(){
		public static void main(String[] args){
			int num[] = {1,2,3};
			System.out.println(num[1]);// 输出 100
			change(num);
			System.out.println(num[1]);// 输出 200
		}
		public static void change(int num[]){    // 传递的是num的地址
			num[1] = 200
		}
	}