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. F5 api接口开发实战手册(二)

    F5 rest api 各对象使用方式详解 本篇文章介绍rest api接口下Collection.Resource.Subcollections.SubResource的各种使用方法.如果您不了解这 ...

  2. Python+Selenium自动化-安装模块和浏览器驱动操作方法

    Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...

  3. 将TVM集成到PyTorch上

    将TVM集成到PyTorch上 随着TVM不断展示出对深度学习执行效率的改进,很明显PyTorch将从直接利用编译器堆栈中受益.PyTorch的主要宗旨是提供无缝且强大的集成,而这不会妨碍用户.为此, ...

  4. Java重载方法如何竞争

    突然想起以前遇到的一道笔试题,题目大概是这样子的 // 父类 public class Father { } // 子类 public class Son extends Father { } // ...

  5. Spring Cloud03: Eureka Client 服务提供者

    一.创建一个子工程并引入配置如下: <dependency> <groupId>org.springframework.cloud</groupId> <ar ...

  6. 【NX二次开发】设置了“附加包含目录”,还是提示“无法打开包括文件”的解决方法

    项目属性中的"附加包含目录"路径完全正确,但是还是无法找到头文件: 这个问题我遇到过不止一次,纠结了很久,终于发现了解决方法: 改为: 问题解决! 分析原因:项目中的属性配置 与 ...

  7. Pytorch CNN网络MNIST数字识别 [超详细记录] 学习笔记(三)

    目录 1. 准备数据集 1.1 MNIST数据集获取: 1.2 程序部分 2. 设计网络结构 2.1 网络设计 2.2 程序部分 3. 迭代训练 4. 测试集预测部分 5. 全部代码 1. 准备数据集 ...

  8. 图文并茂教你学会使用 IntelliJ IDEA 进行远程调试

    1. 前言 今天线上出现了个 Bug ,而且比较坑的是涉及到微信相关的东西不能线下调试.传统方式是在代码中各种的日志 log 埋点然后重新部署进行调试,再根据 log 中的信息进行分析.如果你的 lo ...

  9. csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)

    A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每 ...

  10. IDEA2020.2版本设置类和方法的自定义注释模板

    IDEA是目前普遍使用的Java开发编辑器,添加自定义的注释模板,一方面便捷好用,另外一方面可以规范开发.IDEA中设置模板分两种:1.创建Java类的注释,2.方法的注释. 一.Java类的注释模板 ...