Java SE 1 --- 方法


内容有方法的使用,重载,签名

1. 方法

在java中,没有声明.
普通局部变量是存放在栈区的,在java中,不能直接取到栈区的地址,只能取到堆区的变量的地址,因此要取地址时,需要先将栈区的变量转到堆区中(数组变量是存放在堆区的)

2. 方法重载

  1. 两个方法名称一样(编译器是允许两个方法名一样的)
  2. 方法的参数不一样(参数类型,个数,顺序)
  3. 返回值没有要求(可以一样也可以不一样)
  4. 编译器在编代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法
    方法名一致,编译器如何区别,看下面的方法签名
    注意:
    当两个方法仅仅是返回类型不一样时,是无法构成重载的
public class Test {
    public static int add(int x, int y){
        return x + y;
    }
    public static float add(float a, float b){
        return a + b;
    }
    public static void main(String[] args) {
        System.out.println(add(1, 3));
        System.out.println(add(2.9f, 3.5f));
    }
}

在这里插入图片描述

3. 方法签名

什么是方法签名

在同一个作用域中不能定义两个相同的标识符,比如:方法中不能定义两个名字一样的变量,但为什么类中就可以定义方法名相同的方法呢?
方法签名:经过编译器编译修改过之后方法最终的名字.具体方式:方法全路径名+参数类别+返回值类型,构成方法完整的名字

如何得到方法签名

上面的代码经过编译之后,使用jdk自带的javap反汇编工具查看,具体操作:

  1. 先对工程进行编译生成.class字节码文件
  2. 在控制台中进入到要查看的.class所在目录
  3. 输入:javap-v字节码文件名即可
    在这里插入图片描述在这里插入图片描述Test.add为方法路径,(II)为参数类别,I为返回值类型

方法签名中的特殊字符:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

With Order @!147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值