1、什么是方法?
方法是一组为了实现特定功能的代码块的集合。
方法在语法上的功能主要有如下两个:
1)、提高代码的复用性
一个固定的功能在程序中可能多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。
2)、增强程序的可读性和可维护性
将代码按功能进行组织,使代码的结构比较清晰,容易阅读和修改,也易于维护。
总结:方法是一段可重复使用的代码块;程序中完成独立功能的一段代码的集合。
2、方法的语法格式
[修饰符] 返回值类型 方法名称([参数类型 形式参数1,参数类型 形式参数2,......]){
执行语句;
[return 返回值;] //需要的话
}
如:
package com.wzy.Oop.day03_method;
public class MethodTest {
//无参无返回的方法
public void eat(){
}
//有参有返回的方法
public String sayHello(String msg){
return msg;
}
}
3、方法里的属性
1)、访问控制符:访问控制符用于限定方法的可见范围,或者说是方法被调用的范围。
访问修饰符如:public、protected、无访问控制符、private。
2)、形式参数:在方法调用时用于接收外界输入的数据。如:sayHello(String msg) ,msg就是形式参数用于接收String类型的数据。
3)、实际参数:调用方法时实际传给方法的数据
如:sayHello("哈哈")。其中哈哈就是实参
4)、返回值:方法在执行完成后,返还给调用它的环境的数据。return 语句终止方法的运行并指定要返回的数据。
5)、返回值类型:事先约定的方法需要返回的值的数据类型。如果无返回值,必须给出返回类型void。
注:java中调用方法语法:对象名称.方法名称(实参列表)
4、方法的特点
1)、它可以实现独立的功能
2)、方法必须定义在类里面
3)、方法只有被调用才会执行
4)、方法可以被重复使用
5)、方法结束后,方法里的对象就失去了引用。
5、如何定义一个功能,并通过方法体现出来?
1)、首先需要明确该功能是做什么的,被调用后需要得到什么结果,明确方法返回值类型。
2)、明确在实现该功能过程中是否有未知内容参与运算,确定参数列表。
6、什么是方法重载(Overload)和重写(Override)
1)、重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可。
2)、重写:子类继承父类,当子类和父类方法一致并且内容做了覆盖,就叫做方法重写。
重载和重写的区别?
作用不同
1)、重载:在一个类中,为一种行为提供多种实现方法,并提高可读性。
2)、重写:父类方法无法满足子类的要求,那么子类就可以通过方法重写满足需求。
位置不同
1)、重载:方法都在同一个类中
2)、重写:方法存在父类和子类之间
含义不同:
1)、重载:方法同名不同参
同名就是方法名称相同,不同参就是方法的参数不同,只要参数的类型、参数数量、参数顺序不同就是参数不同。
2)、重写:方法同名同参
参数列表、返回值类型、方法名称必须保持一致。
重写方法的访问权限范围必须大于等于父类方法
重写方法抛出异常类型的范围不能大于父类方法
序号 | 重写(overriding) | 重载(overloading) | |
1 | 类的数量 | 父子类、接口与实现类 | 在同一个类中 |
2 | 方法名称 | 同名 | 同名 |
3 | 参数列表 | 同参 | 不同参 |
4 | 返回类型 | 返回类型相同 | 返回类型可以修改 |
5 | 异常 | 可以减少或删除,但不能扩展 | 异常可以修改 |