方法的定义、调用和调试

1.方法的由来

  (1)方法的前身是C/C++的函数。

  (2)方法永远都是类(或构造体)的成员,不能独立。

  (3)是类或结构体最基本的成员之一。 

                   最基本的成员只有两个——字段与方法(成员变量与成员函数),本质还是数据+算法。方法表示类或结构体能干什么。

 (4)目的:隐藏复杂的逻辑、把大算法分解为小算法、复用。

2.方法的声明和定义

方法的定义、调用和调试

方法的定义、调用和调试

定义形参,引用实参。

3.构造器(一种特殊的方法)

  构造器又称构造函数(constructor),是类型的成员之一,狭义构造器指的是“实例构造器。”

构造器没有返回类型。

4.方法的重载(Overload)

  当为一个类定义方法的时候,方法名可以一样,但是标签不能一样,方法签名由方法名称、类型形参的个数和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。方法签名不包含返回类型(返回值不作为两个标签的差异)。构造器也可以重载。

  重载决策(到底调用哪一个重载):用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。

5.如何对方法进行debug

  (1)设置断点(breakpoint)

  (2)观察方法调用时的call stack

  (3)Step-into,F11,最细的debug,进入调用方法的每一行,往上走在往回返,演示该方法运行的过程。Step-over,F10,粗略的debug,不走进方法,直接拿到方法值,Step-out, Shift+F11,返回到调用它的那一层去.

6.观察局部变量值的变化

  Locals窗口,观察当前打断点的方法里有几个本地变量。

7.方法的调用与栈

  方法调用时栈内存的分配

  Stack frame 方法被调用时在栈内存时候的布局。

方法的定义、调用和调试