方法

  • 一、概念、作用
  • 二、格式
  • 形参和实参
  • 三、方法的重载
  • 四、方法的覆盖(重写)
  • 五、关于方法的理论题


一、概念、作用

一段具有独立功能的代码块,调用之后执行
代码块:在一对大括号中的多行代码
作用:
提高代码的复用性

二、格式

无参:
	public static void 方法名() {  
    // 方法体
}
带参:
public static void 方法名 (数据类型 变量名,数据类型 变量名2 ) { … … }

形参和实参

形参:全称形式参数,是指在定义方法时,所声明的参数
我们调用方法传递实际参数的时候, 参数是基本数据类型, 和引用数据类型, 有什么不同 ?
答案:基本数据类型的形参,对实参没有影响,而引用数据类型(地址值)的形参对实参是有影响的
实参:全称实际参数,调用方法时,实际传入的参数
注意事项:
方法调用时,形参和实参的数量和类型必须相匹配,否则将出现编译错误

三、方法的重载

方法重载(Overload)的定义:
在同一个类中,方法名相同,参数列表不同的方法才叫重载
参数列表不同:
参数个数不同
参数类型不同
参数的多类型顺序不同
注意:看参数列表是否相同的时候和参数名、返回类型没有关系
调用方法的时候,
Java虚拟机
会通过参数的不同来区分同名的方法
练习题:
1、

public static void method(int a,int b){}

以下的方法和method不属于重载的有哪些?

public static int method(int a,int b,int c){return a + b + c} //true

public static int method(int num1,int num2) {return num1 + num2} //false

public static void method(double d1,double d2){}//true

public static void Method(int num1,double num2){} //true
      
public static double method(double num1,int num2) {return num1 + num2}//true

public static void method(int b,int a){}  //false

2、没有返回值的方法中能不能写return?
答案:可以,可以用来结束方法。但是return的后面不能跟数据;
3、

看看下面代码的输出结果是什么?
	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		System.out.println("a="+a);//a=10
		System.out.println("b="+b);//b=20
		change(a,b);
		System.out.println("方法调用后a="+a);//10
		System.out.println("方法调用后b="+b);//20
	}
	public static void change(int a,int b){
		a = 99;
		b = 33;
		System.out.println("a="+a);//a=99
		System.out.println("b="+b);//b=33

四、方法的覆盖(重写)

如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。

五、关于方法的理论题

1.聊聊你对方法的理解, 以及方法可以为代码带来怎样的好处 ?
答案:
提取出来公共代码,提高代码的复用性

2.方法是否可以提高程序的执行效率 ?
答案:
不可以,不能提高程序运行的效率,可以提高代码的复用性

3.方法通用的定义格式是什么 ? 再请详细描述下
答案:
public static 返回值类型 方法名(形参){
方法体
return 返回的数据
}

4.请回答形参和实参分别指的是 ?
答案:
形参:定义方法时声明的参数
实参:调用方法时实际传入的数据

5.请回答带返回值方法有几种调用格式, 分别是哪几种, 还有不带返回值方法的调用格式 ?
答案:
直接调用:方法名()
赋值调用:变量名=方法名(参数)
打印调用:System.out.println(方法名())

6.什么是方法重载, 方法重载能带来怎样的好处呢 ?
答案:
在同一个类中,方法名相同,参数列表不同的方法叫重载,与返回值无关
可以少记忆一些复杂的方法名

7.我们调用方法传递实际参数的时候, 参数是基本数据类型, 和引用数据类型, 有什么不同 ?
答案:
基本数据类型的形参,对实参没有影响,而引用数据类型的形参对实参是有影响的