黑马程序员技术交流社区

标题: new一个对象做为参数不是很理解 [打印本页]

作者: 炉海佳    时间: 2013-2-13 16:06
标题: new一个对象做为参数不是很理解
本帖最后由 炉海佳 于 2013-2-13 20:26 编辑

如题,new一个对象做为参数这个不是很理解,视频看了几遍感觉只是记住了不是很理解,最好结合多态举个例子
作者: 杨玲    时间: 2013-2-13 16:37
呵呵,new一个对象作为参数?你知道的,new出来的是一个对象的实例比如:
  1. String str = new String("asdfg");
复制代码
那么我把这个实例作为一个方法的参数应该这样:
  1. //假设存在一个方法fun需要一个String类型的参数,我们就可以这样调用:
  2. fun(str);
复制代码
而new一个对象作为参数实际上就是这两步的简化:
  1. fun(new String("dsffgsag"));
复制代码
这么说不知道能不能理解!
作者: 杨玲    时间: 2013-2-13 16:37
呵呵,new一个对象作为参数?你知道的,new出来的是一个对象的实例比如:
  1. String str = new String("asdfg");
复制代码
那么我把这个实例作为一个方法的参数应该这样:
  1. //假设存在一个方法fun需要一个String类型的参数,我们就可以这样调用:
  2. fun(str);
复制代码
而new一个对象作为参数实际上就是这两步的简化:
  1. fun(new String("dsffgsag"));
复制代码
这么说不知道能不能理解!
作者: 史政法    时间: 2013-2-13 16:40
  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. }
复制代码
这是一种情况,可以简化书写代码。
还有一种情况是可以应用于多态中。
作者: 张晨    时间: 2013-2-13 18:02
对象new出来就是实体了,可以想象能他的实体作为参数,只不过省略了赋值在作为参数的过程。
作者: 炉海佳    时间: 2013-2-13 20:24
史政法 发表于 2013-2-13 16:40
这是一种情况,可以简化书写代码。
还有一种情况是可以应用于多态中。

我说的就是这个意思,看了这个例子现在差不多理解了   这个不理解多态更不好理解 ,我发现我老是卡在格式上  谢谢——————————————




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