第五章 方法
1:方法体内部的代码执行:
方法体是一个块:是大括号括起的语句序列。块可以包含以下项目:
本地变量
控制流结构
方法调用
内嵌的块
字段通常保存和对象状态有关的数据,而本地变量用于保存本地的或临时的计算数据
2:本地变量的存在性仅限于创建它的块及其内嵌的块
它从声明它的那一点开始存在
它在块完成执行时结束存在
可以在方法体内任意位置声明本地变量。
3:本地常量很像本地变量,只是一旦被它初始化,它的值不能被改动。如同本地变量,本地变量必须声明在块的内部
常量的两个最重要的特征如下;
常量在声明中必须初始化
常量在声明后不能改变
控制流;
4:阐明了调用方法的动作顺序
(1) 当前方法的执行在调用点被挂起
(2) 控制转移到被调用方法的开始
(3) 被调用方法执行直到完成
(4) 控制回到发起调用的方法
5:方法可以向调用代码返回一个值
(1) 要返回值,方法必须在方法名前面声明一个返回类型
(2) 如果方法不返回值,它必须声明void返回类型
6:参数就是允许你做这两件事的特殊变量
7:形参是声明在方法的参数列表中而不是方法体中的本地参数
实参是当代码调用一个方法时,形参的值必须在方法的代码开始执行之前被初始化
(1) 用于初始化形参的表达式或变量称为实参
(2) 实参放在方法调用的参数列表中
(3) 当方法被调用时,每个实参的值都被用于初始化相应的形参,方法体随后被执行
8:调用方法时,必须满足下列要求:
(1) 实参的数目必须和形参的数目相同
(2) 每一个实参必须和相应形参的类型匹配
9:在方法执行的不同阶段中实参和形参的值
(1) 在方法调用之前,将要被用作实参的变量A1和A2已经在栈里
(2) 在方法的开始,形参名被设置为实参的别名。变量A1和F1引用相同的内存位置,A2和F2 引用相同的内存位置
(3) 在方法的结束位置,f2和f1的对象的字段都被加上了5
(4) 方法执行之后,形参的名称已经失效,但是A2的值和A1指向的对象的值都被方法内的行为改变了。A2是值类型变量,A1是引用类型
10:参数数组的重点如下:
(1) 在一个参数列表中只能有一个参数数组
(2) 如果有,它必须是列表中的最后一个
(3) 在数据类型前使用params修饰符
(4) 在数据类型后放置一组空的方括号
(5) 数组使用一个数字索引进行访问
(6) 数组是一个引用类型,因此它的所有数据项都保存堆中