A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

青鸾长鸣

初级黑马

  • 黑马币:19

  • 帖子:6

  • 精华:0

© 青鸾长鸣 初级黑马   /  2020-2-24 17:15  /  1356 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【方法】       
        【概念】
        【将独立功能的【代码块】组织成一体,使其具有特殊功能的代码集】
        【作用】
        【可以提高代码的复用性和可阅读性,但是不会提高运行效率。】
【注意】
                【方法必须先创建才可以使用,该过程】​                【方法调用】【方法创建后需要手动调用才能够执行】​                【方法与方法之间是平级关系, 不能嵌套定义】​                【方法的调用需要在main方法中发起调用.】​                【[void]表示无返回值,当需要返回值是void替换为对应的数据类型】
【方法使用须知】
  • 明确参数列表
    • 方法运行之前, 是否需要材料, 要的话, 要什么类型的? 要几个?

  • 明确返回值类型
    • 看方法运行后, 是否有结果产出
      • 有: 该方法设计为带返回值的没有 : 返回值类型写void即可



【方法调用内存图】
  • 方法在没有被调用的时候,都在方法区中字节码文件(.class)中存储
  • 方法在被调用的时候,要进入到栈内存中才能运行
  • 当方法结束后马上会被删除
  • 【总结】最先进入的方法(主方法体)最后打出

【普通方法】【普通方法的定义和调用】 【普通方法的定义】
public static void 方法名(){
     //方法体
}

【方法调用】
方法名();【方法案例练习】【两个数取最大值】
【带参数方法】【带参数方法定义】 【总体格式】
public static void 方法名(参数){......}

【针对单个参数】【格式】
public static void 方法名(数据类型 变量名){......}

【针对多个参数】【格式】
public static void 方法名(数据类型 变量名1 , 数据类型 变量名2 , ... ....){......}

【注意】
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错【带参数方法调用】 【总体格式】
方法名(参数){......}
【针对单个参数】【格式】
方法名(变量名/常量值){......}
【针对单个参数】【格式】
方法名(变量名1/常量值1 , 变量名2/常量值2 , ... ....){......}

【注意】
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错【形参和实参】
                                        【形参】【方法定义】中的参数】【等同于【变量定义格式】】​                                        【实参】【方法调用】中的参数】【等同于【使用变量或常量】
【当参数为引用数据类型时】
                                                                【把实参变量的值赋值给形参变量,赋的值其实就是引用类型对象在堆内存中的地址值
                                                                【形参和实参指向了堆内存中同一地址值,通过任意一个参数修改其值另外一个参数的值的具体内容会同步发生改变
【带参数方法案例练习】【两个数取最大值】

【带返回值方法】
                        【return的返回值与方法定义上的数据类型必须匹配
【带返回值方法定义格式】 public static 数据类型 方法名(参数){
     return数据;
}【带返回值方法的调用】 【调用是的数据类型通常与方法所返回的数据类型相同】
数据类型 变量名 =方法名(参数);

【注意】
方法的返回值通常会使用变量接收,否则该返回值将无意义
【带返回值方法案例练习】【两个数取最大值】

【方法的通用格式】 public static 返回值类型 方法名(参数){
     方法体;
     return数据;
}
                【public static】【修饰符】​                【返回值类型】【方法操作完毕后返回数据类型】【如果没有返回用[void]代替】​                【方法名】 【调用方法时使用的标识】​                【参数】【有数据类型和变量名组成,多个参数之间用逗号隔开】​                【方法体】【完成功能的代码块】​                【return】【操作完毕,将数据返回】
【调用方法时】
                【void类型】【直接调用】​                【非void类型】【用变量接收】
【方法重载】
【 在同一个类中, 方法名相同, 参数列表不同, 与返回值无关】        【参数列表不同】                【类型不同】                【顺序不同】-- (没有意义, 今后我们自己设计方法重载的时候, 不建议设计这种)                【个数不同】
【特点】
                                        【重载仅对应方法的定义,与调用无关】​                                        【重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关。】
【注意】
  • 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
  • 不能通过返回值判定两个方法是否相互构成重载

【方法重载案例练习】【方法参数传递】
                【基础数据类型传参】【只要方法最后不是return 就不会对主方法体的数据产生影响
                【引用数据类型传参】【方法参数传递的如果是引用数据类型, 传递的是地址值; 一旦方法内对里面的数据做出了改动主方法中也会发生变动
                【问题】

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马