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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 炉海佳 高级黑马   /  2013-2-13 16:06  /  1789 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 炉海佳 于 2013-2-13 20:26 编辑

如题,new一个对象做为参数这个不是很理解,视频看了几遍感觉只是记住了不是很理解,最好结合多态举个例子

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

5 个回复

倒序浏览
呵呵,new一个对象作为参数?你知道的,new出来的是一个对象的实例比如:
  1. String str = new String("asdfg");
复制代码
那么我把这个实例作为一个方法的参数应该这样:
  1. //假设存在一个方法fun需要一个String类型的参数,我们就可以这样调用:
  2. fun(str);
复制代码
而new一个对象作为参数实际上就是这两步的简化:
  1. fun(new String("dsffgsag"));
复制代码
这么说不知道能不能理解!

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

回复 使用道具 举报
呵呵,new一个对象作为参数?你知道的,new出来的是一个对象的实例比如:
  1. String str = new String("asdfg");
复制代码
那么我把这个实例作为一个方法的参数应该这样:
  1. //假设存在一个方法fun需要一个String类型的参数,我们就可以这样调用:
  2. fun(str);
复制代码
而new一个对象作为参数实际上就是这两步的简化:
  1. fun(new String("dsffgsag"));
复制代码
这么说不知道能不能理解!
回复 使用道具 举报
  1. class  Person
  2. {
  3.         String name = "zhangsan";

  4.         void show()
  5.         {
  6.                 System.out.println(name);
  7.         }
  8. }

  9. class PersonDemo
  10. {
  11.         public static void hanshuming(Person p)
  12.         {
  13.                 p.show();
  14.         }

  15.         public static void main(String[] args)
  16.         {
  17.                

  18.                 //Person p = new Person();
  19.                 //hanshuming(p);

  20.                 hanshuming(new Person());
  21.         }
  22. }
复制代码
这是一种情况,可以简化书写代码。
还有一种情况是可以应用于多态中。

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

回复 使用道具 举报
对象new出来就是实体了,可以想象能他的实体作为参数,只不过省略了赋值在作为参数的过程。
回复 使用道具 举报
史政法 发表于 2013-2-13 16:40
这是一种情况,可以简化书写代码。
还有一种情况是可以应用于多态中。

我说的就是这个意思,看了这个例子现在差不多理解了   这个不理解多态更不好理解 ,我发现我老是卡在格式上  谢谢——————————————
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马