黑马程序员技术交流社区

标题: 一个重载的问题,各位先辈们帮我看一下在dos中为什么出不来结果呢? [打印本页]

作者: 马超    时间: 2012-4-1 12:02
标题: 一个重载的问题,各位先辈们帮我看一下在dos中为什么出不来结果呢?
class Arraytest_1
{
        public void sum(int a,int b);
        int result = a+b;
        System.out.println(result);

        public void sum(double a,double b);
        double result = a+b;
        System.out.println(result);
}
。。。

public class Arraytest
{
        public static void main(String[] args)
        {
                Arraytest_1 acc = new Arraytest_1();
                acc.sum(10,15);
                acc.sum(10.2,15.3);
        }
}

该贴已经同步到 依然小马哥的微博
作者: 翟友伟    时间: 2012-4-1 12:27
public void sum(int a,int b)
        int result = a+b;
public void sum(int a,int b)
{
        int result = a+b;
}
作者: 马超    时间: 2012-4-1 12:32
翟友伟 发表于 2012-4-1 12:27
public void sum(int a,int b)
        int result = a+b;
public void sum(int a,int b)

额,有点傻了、、咋把它给忘了啊?追加问您下
方法的返回类型可以不相同是否取决于参数类型呢?
谢谢啦!
作者: 吴玉辉    时间: 2012-4-1 13:22
当然不是了比如:public static void main(String[] args)
        {
               
                System.out.println(add(4,5));
        }
        public static double add(int a,int b)
                {
                        double sum;
                        sum=a+b;
                        return sum;
                }
参数为整数类型,可函数的返回类型却是实数的,还是要看函数自身需要的返回值类型,以及返回值类型与参数类型之间的关系
作者: 黑马胡林    时间: 2012-4-1 13:32
把你代码给运行下,是你方法体没有加上{}
class Arraytest_1 {
        public void sum(int a, int b) {
                int result = a + b;
                System.out.println(result);
        }

        public void sum(double a, double b) {
                double result = a + b;
                System.out.println(result);
        }

}

public class Arraytest {
        public static void main(String[] args) {
                Arraytest_1 acc = new Arraytest_1();
                acc.sum(10, 15);
                acc.sum(10.2, 15.3);
        }
}
结果为:
25
25.5

作者: 何万县    时间: 2012-4-1 13:32
class Arraytest_1
{
         public void sum(int a,int b){
             int result = a+b;
             System.out.println(result);
         }
         

        public void sum(double a,double b){
         double result = a+b;
         System.out.println(result);


        }
         
}


public class Arraytest
{
         public static void main(String[] args)
         {
                 Arraytest_1 acc = new Arraytest_1();
                 acc.sum(10,15);
                 acc.sum(10.2,15.3);
         }
}
应该是这样编写吧》?、、????
作者: 马超    时间: 2012-4-1 13:46
黑马胡林 发表于 2012-4-1 13:32
把你代码给运行下,是你方法体没有加上{}
class Arraytest_1 {
        public void sum(int a, int b) {

呵呵,是,老是犯这种低级错误、、
作者: 马超    时间: 2012-4-1 13:46
何万县 发表于 2012-4-1 13:32
class Arraytest_1
{
         public void sum(int a,int b){

:L惭愧了、、




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2