1、方法

(1)概念:①解决事情的办法②实现功能的代码段。

(2)优点:①提到代码的复用性②便于后期维护。

   (3)特点:①不调用不执行②方法不能嵌套,定义在类中方法外的位置。

(4)定义方法的分析步骤:①方法的需求②返回值③参数④方法名

(5)定义:有返回值类型的方法。

修饰符 返回值类型 方法名(参数列表){

实现功能的代码段;

return 返回值;}

(6)修饰符 : 访问权限修饰符,先默认定义为public static

(7)返回值类型 : 思考方法体代码执行完毕之后,是否需要得到一个结果或数据值,如果需要就定义为有返回值类型的方法,不需要就定义为没有返回值类型的方法。

(8)结果的数据类型基本数据类型|引用数据类型。

(9)方法名 : 根据方法名调用方法。

(10)标识符: 符合标识符的规则与规范。

(11)参数列表 : 可以定义参数,可以不定义参数,可以定义多个参数,数据类型 参数名1,数据类型 参数名2.... 相当于变量的声明,在方法的定义或者实现过程中,是否存在未知的,不确定的,可能会改变的数据,如果存在定义在方法的参数列表。

(12)数据类型可以为任意数据类型{} : 方法体语句, 实现功能的代码段;

(13)return : ①提前结束方法②带出返回值 (return);在一个有返回值类型的方法必须存在return关键字。

2、方法的调用:

(1)有返回值类型的方法

①普通调用:方法名(参数列表);有返回值类型的方法调用时候需要接收返回值。

②输出调用:数据类型 变量名 = 方法名(参数列表)。

③赋值调用System.out.println(方法名(参数列表))。

(2)没有返回值类型的方法

①普通调用

修饰符 void 方法名(参数列表){

(3)方法体语句;[return]}void :标识没有返回值类型的方法②return :提前结束方法。

3、方法的参数:

①形式参数(形参) : 定义方法时()中的参数

②实际参数(实参) : 调用方法时()中的参数

形参与实参之间需要一一对应①个数一致②类型一致③不同类型的形参顺序一致。

4、return 与 兼容类型

(1)return 返回

①结束方法②在有返回值类型的方法中,return带出返回值 return 返回值③返回给方法得到调用处④在有返回值类型的方法中必须存在return。

(2)不可达语句: 没有执行时机

①能够执行到return后面的代码②while--true   for(;;){} 死循环后面的代码③continue后面④break后面⑤while-->false。

(2)兼容类型:

①参数:  形参的类型>=实参的类型

②返回值: 接收返回值的变量类型>=方法的返回值类型>=return后面数据的类型,形参不赋值不存在默认值。

5、方法的重载

(1)前提: 当一个类中实现某个功能的时候,这个功能却有不同的实现方式|需要接受不同的参数,可以让这些相同功能实现的方法,构成方法的重载,就允许方法名相同。

(2)要求: 同一个类中的多个方法。

①方法名相同②参数列表不同或方法签名不同(方法名+参数列表)

(3)区分方法的唯一标识①参数列表不同:②参数个数不同③参数的类型不④不同类型的参数顺序不同。

(4)重载方法的调用

①方法名(实参);②有实参决定重载方法的调用。

(5)注意问题:①方法的重载与方法的修饰符无关关②方法的重载与方法的返回值类型无关关③方法的重载与参数的名字无关关。

总结: ①方法的重载只与方法签名有关②方法就是封装的一种体现③方法的重载就是多态的一种体现。

6、递归:  

        方法的自己调用自己

优点 : 合理的位置使用递归可以简化代码结构

        缺点 : 在结构复杂的情况,大量的占用内存,有可能有降低效率,可能会遇到内存溢出

临界条件:  停止自己调用自己的条件

        递归前进段: 不停的自己调用自己,知道临界条件之间这个过程

        递归后退段: 从临界条件开始,将结果返回给调用的上一层的过程

7、方法的内存分析

(1)栈中数据的特点:①进的后出后进先出②压栈.③弹栈④一防法执行完毕 马上弹栈释放内存。

注意;不能在-个方法中使另-个方法中的局部量 因为他们不属于同-块栈帧中。

(2)寄存器(本地方法栈)

①方法区|数据共享区: class文件进入内存

②栈:方法运行期间产生的数据存在的位置

③堆:对象|数组数据

(3)步骤:①把class文件加载到内存方法区中②JVM调用主方法main,main方法压栈执行,在栈中为main方法开辟栈帧(内存空间)③逐行执行main方法中的内容④调用getArea方法,压栈执行⑤实参要为形参赋值⑥逐行执行getArea方法中的代码⑦返回值返回到方法的调用处⑧方法getArea0执完毕马上弹栈释放内存空间⑨继续执行main方法中的内容⑩把返回值赋值给int类型的变量area。

⑪执行输出语句输出变量area的值35⑫main方法执行完毕马上弹栈释放内存间。

最新文章

  1. CXF:根据werservice代码生成WSDL(转)
  2. dedecms 采集规则过滤与替换
  3. 第四十一课:CSS3 animation详解
  4. android操作XML的几种方式(转)
  5. asp结合ajax中文乱码问题
  6. 对图片进行各种样式裁对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等剪:圆形、星形、心形、花瓣形等--第三方开源--CustomShapeImageView
  7. 20个命令行工具监控 Linux 系统性能(转载)
  8. Linux基本配置和管理 3 ---- Linux命令行文本处理工具
  9. mongodb 教程三
  10. Dialog对话框管理工具类
  11. Mybatis+mysql批量插入性能分析测试
  12. vue 绑定样式的几种方式
  13. Django框架【form组件】
  14. PyQt5——布局管理
  15. php预定义常量
  16. Visual Studio连接Oracle数据库
  17. Python匿名函数(lambda)
  18. JavaScript -基础- 函数与对象(四) BOM 对象
  19. 【胡思乱想】命令模式 与 Thread Runnable
  20. PAT B1029 旧键盘 (20 分)

热门文章

  1. PHP8开启PHPStorm + Xdebug3
  2. Nextcloud 使用教程
  3. Nginx 配置实例-配置负载均衡
  4. visudo
  5. 自定义 DataLoader
  6. DeepLabV3+语义分割实战
  7. HiCar技术概述
  8. 高效Tensor张量生成
  9. 基于ARM Cortex-M的SoC存储体系结构和实战
  10. 实用的jar包加密方案