不破水菓 2021-12-30 00:31 采纳率: 100%
浏览 50
已结题

请问java中调用方法传入参数为null时如何进行调用的

如图,当定义好了locked方法后,new出新的lock类对象test,调用locked方法时,如果方法定义中有locked(String type)时,test(null)调用该方法,打印出如下结果:

public class Lock {
    public void locked(String type){
        System.out.println("调用的是locked(Str)方法");
    }
    public void locked(int type){
        System.out.println("调用的是locked(int)方法");
    }
    public void locked(){
        System.out.println("调用的是locked()方法");
    }
    public static void main(String[] args){
        Lock test=new Lock();
        test.locked();
        test.locked(2);
        test.locked("2");
        test.locked(null);
    }
}

运行结果

调用的是locked()方法
调用的是locked(int)方法
调用的是lockedStr)方法
调用的是lockedStr)方法
进程已结束,退出代码0

但当我注释掉String方法后,如图,运行编译未通过。
修改后代码如下:

public class Lock {
    /**public void locked(String type){
        System.out.println("调用的是locked(Str)方法");
    }*/
    public void locked(int type){
        System.out.println("调用的是locked(int)方法");
    }
    public void locked(){
        System.out.println("调用的是locked()方法");
    }
    public static void main(String[] args){
        Lock test=new Lock();
        test.locked();
        test.locked(2);
        //test.locked("2");
        test.locked(null);
    }
}

运行结果及报错内容

java: 不兼容的类型: <nulltype>无法转换为int

请问是否代表null做参数的调用就是默认String类型的形参?如果用null作为参数调用的话是调用的那种形式的对应方法呢?希望各位不吝赐教

  • 写回答

3条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 1月7日
      • 已采纳回答 12月30日
      • 创建了问题 12月30日

      悬赏问题

      • ¥15 内存管理的一段代码不是很理解
      • ¥20 打开anaconda时卡在Loading applications无法进入界面
      • ¥15 网页超时时间设置失效
      • ¥15 有关绿色信贷毕业论文的问题
      • ¥30 关于#机器人#的问题,如何解决?
      • ¥15 求MATLAB函数ScalarLayerDisplay的代码
      • ¥15 安卓如何自动执行检测到的NFC标签,无需再点确认
      • ¥15 pyHM库mouse模块的ValueError错误
      • ¥15 python opencv 摄像头 传感器
      • ¥30 eMMC&Android&C&Linux