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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 至尊宝的温柔 中级黑马   /  2015-10-21 21:38  /  13415 人查看  /  62 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
方法重载需要写两个以上的方法吗

62 个回复

倒序浏览
重载一般是重载已有对象内的方法,自己写两个重载的方法的时候不多,但是也有!
回复 使用道具 举报
对呀= =如果你只写一个方法,那还叫重载么,但是并不算真正意义上的重载,比如
回复 使用道具 举报
-(void)test:(int)a;
-(void)test:(float)a;就不可以  方法名是test:   
但是如果
-(void)test:(int)a and:(int)b;
-(void)test:(float)a :(int)b;
就可以  因为一个是test: and:   一个是test: :
回复 使用道具 举报
方法重载,是在已经有一个方法的前提下再写一个,这个就是重载了。
回复 使用道具 举报
zhangyunhong66 来自手机 中级黑马 2015-10-21 23:46:06
地板
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。 方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法
回复 使用道具 举报
方法重载是指,方法名相同,参数不同,与返回值无关。只要符合这个标准就是方法重载。如果写一个方法,当前类或子类中找不到与之同名的方法就谈不上重载
回复 使用道具 举报
minasum 中级黑马 2015-10-22 12:12:08
8#
方法名一样,就是参数列表不一样吧?返回值类型可以不同,重载肯定是两个方法以上
回复 使用道具 举报
是的  必须要两个
回复 使用道具 举报
孤单背影 来自手机 中级黑马 2015-10-22 12:33:59
10#
方法重载是指,方法名相同,参数不同,与返回值无关。只要符合这个标准就是方法重载。如果写一个方法,当前类或子类中找不到与之同名的方法就谈不上重载
回复 使用道具 举报
zzwzz 来自手机 中级黑马 2015-10-22 18:20:54
11#
方法重载,是重载以有的方法,如果继承了一个类你可以重载那个类里的方法,只要写一个方法就行
回复 使用道具 举报
是的,方法重载是需要大于等于2个同名方法,只要它们的形参的类型或者个数不同,就算是重载
回复 使用道具 举报
可以。
方法重载:在同一个类中,方法名相同,参数列表不同。与返回值无关。
                        参数列表不同:
                        参数的个数不同。
                        参数的对应的数据类型不同。
方法重载案例:
                (不同的类型的多个同名方法的比较。)

class FunctionDemo4 {
        public static void main(String[] args) {
                //jvm会根据不同的参数去调用不同的功能
                System.out.println(sum(10,20));
                System.out.println(sum(10,20,30));
                System.out.println(sum(10,20,30,40));
               
                System.out.println(sum(10.5f,20f));
        }
       
        //需求1:求两个数的和
        public static int sum(int a,int b) {
                System.out.println("int");
                return a + b;
        }
       
        //需求2:求三数的和
        /*
        public static int sum1(int a,int b,int c) {
                return a + b + c;
        }
        */
       
        public static int sum(int a,int b,int c) {
                return a + b + c;
        }
       
        //需求3:求四个数的和
        /*
        public static int sum2(int a,int b,int c,int d) {
                return a + b + c + d;
        }
        */
        public static int sum(int a,int b,int c,int d) {
                return a + b + c + d;
        }
       
        public static float sum(float a,float b) {
                System.out.println("float");
                return a + b;
        }
}


希望对楼主有帮助!!!
回复 使用道具 举报
ruoruchujian641 发表于 2015-10-21 22:39
对呀= =如果你只写一个方法,那还叫重载么,但是并不算真正意义上的重载,比如 ...

恩恩,收到了,谢谢,你是最后的黑马  黑马加油
回复 使用道具 举报
ts930913 发表于 2015-10-22 22:11
可以。
方法重载:在同一个类中,方法名相同,参数列表不同。与返回值无关。
                        参数列表不同:

很有帮助,我试着捋顺代码,今天刚考试了,5
回复 使用道具 举报
小小鑫 发表于 2015-10-21 22:07
重载一般是重载已有对象内的方法,自己写两个重载的方法的时候不多,但是也有! ...

恩恩,在以后应该会学到
回复 使用道具 举报
zzwzz 发表于 2015-10-22 18:20
方法重载,是重载以有的方法,如果继承了一个类你可以重载那个类里的方法,只要写一个方法就行 ...

那个类指什么
回复 使用道具 举报
孤单背影 来自手机 中级黑马 2015-10-23 11:08:57
18#
方法重载就是同样的功能,但传递的参数列表不同。这样只需要一个名字就可以了,不需要你记太多的方法名
回复 使用道具 举报
Pinfan 中级黑马 2015-10-23 15:04:42
19#
方法重载是在同一个类中存在两个方法名相同,方法签名不同(参数类型、参数个数、类型排列顺序),只要方法签名不同,在同一个类中是允许多个方法重名,这样的特性叫重载!
回复 使用道具 举报
要的。。。。
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马