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方法执行完毕马上弹栈释放内存间。

Java笔记——方法的更多相关文章

  1. Java笔记 —— 方法重载和方法重写

    Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...

  2. JAVA笔记---方法

    JAVA的方法 方法的基础 1. return 语句的一些高级应用 public class Method{ public static void main(Sting[] args){ System ...

  3. Java学习笔记二十二:Java的方法重写

    Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...

  4. Java学习笔记十二:Java中方法的重载

    Java中方法的重载 什么是方法的重载呢? 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 s ...

  5. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  6. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  7. 转 Java笔记:Java内存模型

    Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...

  8. servlet(6) - servlet总结 - 小易Java笔记

    垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...

  9. Java笔记 —— 继承

    Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...

随机推荐

  1. lms框架应用服务接口和服务条目详解

    目录 应用接口的定义 服务路由特性 服务条目 根据服务条目生成webAPI 服务条目的治理特性 缓存拦截 服务条目的例子 应用接口的实现 开源地址与文档 应用接口的定义 服务应用接口是微服务定义web ...

  2. TensorFlow实现多层感知机MINIST分类

    TensorFlow实现多层感知机MINIST分类 TensorFlow 支持自动求导,可以使用 TensorFlow 优化器来计算和使用梯度.使用梯度自动更新用变量定义的张量.本文将使用 Tenso ...

  3. GPU上创建目标检测Pipeline管道

    GPU上创建目标检测Pipeline管道 Creating an Object Detection Pipeline for GPUs 今年3月早些时候,展示了retinanet示例,这是一个开源示例 ...

  4. 使用现代C++如何避免bugs(下)

     使用现代C++如何避免bugs(下) About virtual functions Virtual functions hinder a potential problem: the thing ...

  5. TensorFlow中的语义分割套件

    TensorFlow中的语义分割套件 描述 该存储库用作语义细分套件.目标是轻松实现,训练和测试新的语义细分模型!完成以下内容: 训练和测试方式 资料扩充 几种最先进的模型.轻松随插即用 能够使用任何 ...

  6. 嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,第1部分-基础知识和实现 OTA updates for Embedded Linux,  Fundamentals and implementation 更新的需要 一 ...

  7. Nucleus-SE迁移:未实现的设施和兼容性

    Nucleus-SE迁移:未实现的设施和兼容性 Nucleus SE migration: Unimplemented facilities and compatibility Nucleus SE的 ...

  8. 【NX二次开发】Block UI 指定平面

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  9. 【NX二次开发】获取指定矩阵标识的矩阵值

    函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...

  10. 由一次PasswordBox密码绑定引发的疑问 ---> WPF中的附加属性的定义,以及使用。

    1,前几天学习一个项目的时候,遇到了PasswordBox这个控件,由于这个控件的Password属性,不是依赖属性,所以不能和ViewModel层进行数据绑定. 2,但是要实现前后端彻底的分离,就需 ...