jxt598598 发表于 2008-6-7 11:22

找错!!!

class Method
{
        boolean print(int i)
        {
                System.out.println("returns a boolean"+i);
                return true;
        }
        long print(long i)
        {
                System.out.println("returns a long"+i);
                return i;
        }
}

public class Overload
{
        public static void main(String[] args)
        {
                Method m1=new Method();
                m1.print(2);
                m1.print(32768);
        }
}

elan1986 发表于 2008-6-7 11:33

应该是那个取值范围有问题的!

jxt598598 发表于 2008-6-7 11:45

回复 2# elan1986 的帖子

我不知道应该取什么值

qiuqiu2641847 发表于 2008-6-7 15:24

我想也是取值的问题....你取的2个值都是int类型的....

小牛学java 发表于 2008-6-7 19:20

方法一其实就是打印System.out.println(..)这句话  , 返回的true可以在main方法调用System.out.println(m1.print(2)); 可以看见方法一的返回值 因为java 中byte取值到32767 int<2147483647 所以不会调用方法2 如果想调用方法2 可以把long print()里的值强制转化为long类型或后边加个l 如果大于21747483647的话后边必须加l了

jxt598598 发表于 2008-6-7 20:43

回复 5# 小牛学java 的帖子

恩是这样的
谢谢

页: [1]

编程论坛