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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱纲 中级黑马   /  2012-2-17 12:35  /  2302 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

方法sop(Object obj)的参数是一个对象,但是为什么在调用sop()方法时可以加一个字符串上面去呢?

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

12 个回复

倒序浏览
这是进行了向上转型,
因为每个类都是默认继承 Object 类的

String 也是 一个 Object 所以才这样

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
在Java语法中,所有类都是从Object派生的,String类也不例外
因此,把String类的对象作为Object类当参数是可以的。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
object是所有类的父类,所以可以填任何数据
回复 使用道具 举报
因为Object类是所有类的父类,所以根据类的继承性,Object类型的引用可以指向任何类的对象。
回复 使用道具 举报
那还能这样进行调用吗:sop("f1:"+f1); f1是一个对象
回复 使用道具 举报
邱纲 发表于 2012-2-17 14:19
那还能这样进行调用吗:sop("f1:"+f1); f1是一个对象

也是可以的

"f1:"+f1 的结果是一个字符串
“f1:”和f1做加运算时,会先调用f1的toString()方法,再与"f1:"做连接运算
回复 使用道具 举报
邱纲 中级黑马 2012-2-17 14:29:53
8#
pengfangjava 发表于 2012-2-17 14:26
也是可以的

"f1:"+f1 的结果是一个字符串

那这是不是相当于Integer的自动拆箱和装箱啊
回复 使用道具 举报
蒙武辉 黑马帝 2012-2-17 14:36:15
9#
sop(Object obj)  可以传一个字符串,字符串本身就是一个对象,而Object是所有类的上帝,往里面传字符串对象是合理的,运用到上转型对象,如果你理解上转型对象这道题就不难理解了。
回复 使用道具 举报
字符串也是属于对象啊。
基本数据类型有8种:byte short int long float double char boolean
引用数据类型:类(String、Class、Object等) 接口 数组
回复 使用道具 举报
参数接受的是所有对象的基类Object,String属于Object的子类
所以能接受
回复 使用道具 举报
    毕老师比较经典的一句话就是、Java的Object是上帝。
回复 使用道具 举报
java中有句万物皆对象,Object是java中的上帝,其他对象都是继承了Object的
Object是父类,sop(Object obj)能接受字符串就是多态的表象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马