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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张钧杰 中级黑马   /  2012-4-7 09:19  /  3251 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void sop(object obj)
{
      System.out.println(obj)
}



public static void sop(String str)
{
      System.out.println(str)
}

的sop功能怎么是一样的啊。。。

16 个回复

倒序浏览
郑苑东 来自手机 中级黑马 2012-4-7 09:33:41
沙发
其实他里面时很多个重载,根据你传入的参数的类型不同调用相应的方法。
回复 使用道具 举报
问这个问题有什么意思?搞不懂
回复 使用道具 举报
public static void sop(String str)只能打印String类型的字符串或变量
public static void sop(object obj)可以打印其他的类型的字符串和变量

回复 使用道具 举报
     这本来就是一样的功能,是函数的重载的标准写法,在调用的时候会根据你传进来的参数的不同而自动调用相应的函数,如果你想测试有功能有什么不同,可以先屏蔽一个,然后换不同的传入参数调用。
回复 使用道具 举报
public static void sop(String str) 这个参数只能接收string类型的对象
public static void sop(object obj)能接收人和类型的变量
回复 使用道具 举报
  你方法重载了啊, 每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java 调用一个重载方法时,参数与调用参数匹配的方法被执行。
回复 使用道具 举报
是不一样的呀,每一个参数不是(object obj),这个可是代表一个对象,而(String str)代表的是字符串;只是实现了函数重载。

回复 使用道具 举报
1 方法名是一样的,而且方法体的内容一样,所以实现的目的是一样的。
2
只是传递的参数类型不一样。
第一个object是所有类的父类,可以传递任何的参数,而第二只是传递相对性的参数。
3 两个方法重载,总体讲是不一样的。
回复 使用道具 举报
1、函数public static void sop(String str)和函数public static void sop(object obj)函数名相同,为函数重载;
2、object为JAVA中的超类,是所以类的父类;
3、如果给函数public static void sop(object obj)传的是String类型,则打印的是字符串,所以两个函数的输出是一样的;可如果给sop传入的不是String类型的话,则public static void sop(String str)函数不能执行,而通过类型向上转型,public static void sop(object obj)函数则可以执行;
回复 使用道具 举报
当我们传入一个String类型的参数时,是哪个运行呢?
回复 使用道具 举报
袁计艳 发表于 2012-4-7 12:04
1 方法名是一样的,而且方法体的内容一样,所以实现的目的是一样的。
2
只是传递的参数类型不一样。

有道理,
回复 使用道具 举报
黑马张平 发表于 2012-4-7 12:32
当我们传入一个String类型的参数时,是哪个运行呢?

都可以运行啊
回复 使用道具 举报
如果都运行,那问题就大了啊。虽然是重载。但如是二个函数方法不一样,那不就有问题了啊。要是我想要Object对应的函数运行,结果String类型的函数运行了,那不是就对了吗?
回复 使用道具 举报
这是函数的重载 。
函数重载的特点就是:
  与返回值类弄无关,只要参数列表不同 。  
回复 使用道具 举报
不一样啊,第一个sop(Object obj)可以打印一切东西
,第二个sop(String str)只能打印String类型的数据
回复 使用道具 举报
pray 高级黑马 2014-4-26 03:50:17
17#
让人不间断地在各种场合重复引用的好帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马