- 定义是指被定义的项是什么。
- 声明是指为被声明的项分配内存来存储数据。
定义方法
- 方法的定义由方法名称、参数、返回值类型以及方法体组成。
修饰符 返回值类型 方法名(参数列表){ //方法体; }
public static int max(int num1, int num2){
int result;
if(num1 > num2)
result = num1;
else
result = num2;
return result;
}
调用方法
- 指执行方法中的代码。
- 值传递:基本数据类型 / 引用类型
- main中的语句可以调用main方法所在类中定义的其他方法,也可以调用别的类中定义的方法。
- 每调用一个方法时,系统会创建一个活动记录(活动框架),用于保存方法中的参数和变量。活动记录置于一个内存区域中,称为调用栈。
- 当一个方法调用另一个方法时,调用者的活动记录保持不变,一个新的活动记录被创建用于被调用的新方法。一个方法结束运行返回到调用者时,其相应的活动记录也被释放。
值传递
- 实参必须与方法签名中定义的形参在次序和数量上匹配,在类型上兼容。
- 类型兼容是指不需要经过显示的类型转换就可以传值。
模块化
- 将代码封装在一个方法中,即模块化。
- 模块化使得代码易于维护和调试,并且使得代码可以被重用。
重载方法
- 方法名相同,参数列表不同。即参数个数不同,顺序不同,类型不同。
- 返回值、返回类型、形参名字不同,不构成重载。
- 调用方法时,Java编译器采用精确匹配。有时候可能会有两个或多个可能的匹配,编译器无法判断哪个最精确,这称为歧义调用。
变量的作用域
- 局部变量必须在使用之前进行声明和赋值。
- 可以在一个方法中的两个非嵌套块中声明局部变量,但不可以在两个嵌套块中声明同一个局部变量。
方法抽象、逐步求精
- 方法抽象是通过将方法的使用和它的实现分离来实现的。
- 方法的实现细节封装在方法内,对使用该方法的用户来说时隐藏的。这就称为信息隐藏或封装。
- 当实现一个大型程序时,可以使用逐步求精策略,将大问题分解成子问题,子问题又分解成更小、更容易处理的问题。可以采用自顶向下或自底向上的编码方法。
实例1:将十六进制数转换为十进制数
实例2:生成随机字符
实例3:打印日历