黑马程序员技术交流社区

标题: 方法中调用方法问题 [打印本页]

作者: 郑庆伟    时间: 2012-6-26 12:25
标题: 方法中调用方法问题
本帖最后由 郑庆伟 于 2012-6-26 14:29 编辑

/*
需求:
电脑运行实例,
电脑运行基于主板。
*/
class MainBoard  //主板类
{
      public void run()  
      {
           System.out.println("mainboard run");
      }
      public void useNetCard(NetCard c) /*调用网卡方法 ,此处 NetCard c  NetCard:是网卡 , c:是网卡这个对象。此处的的c是什么时候创建的是下面的mb.useNetCard(new NetCard());中建立的吗?   是不是这里可以省略c这个对象的名称?如果我说的不对请把NetCard c帮忙解释一下?

                                                           
     }
         c.open(); //调用网卡打开方法
         c.close();//调用网卡关闭方法
    }
}

class NetCard //网卡
{
      public void open()
      {
           System.out.println("netcard open");
      }
      public void close()
      {
           System.out.println("netcard close");
      }
}
class DuoTaiDemo5
{
      public static void main(String[] args)
      {
       MainBoard mb = new MainBoard();
       mb.run();
       mb.useNetCard(new NetCard());
      }
}

作者: 余清兰    时间: 2012-6-26 12:47
public void useNetCard(NetCard c) 这是定义的一个返回值为空的函数,这个函数接收的是一个类类型的参数,c是接收这个类类型的存储变量名。
在这个例子里,就相当于主板有个插口接收了网卡这个类,这样就能操作网卡,调用方法了
作者: 李伟    时间: 2012-6-26 13:16
/*
需求:
电脑运行实例,
电脑运行基于主板。
*/
class MainBoard  //主板类
{
      public void run()  
      {
           System.out.println("mainboard run");
      }
      public void useNetCard(NetCard c) /*调用网卡方法 ,此处 NetCard c  NetCard:是网卡 , c:是网卡这个对象。此处的的c是什么时候创建的是下面的mb.useNetCard(new NetCard());中建立的吗?   是不是这里可以省略c这个对象的名称?如果我说的不对请把NetCard c帮忙解释一下?

                                                           
     }
         c.open(); //调用网卡打开方法
         c.close();//调用网卡关闭方法
    }
}
class NetCard //网卡
{
      public void open()
      {
           System.out.println("netcard open");
      }
      public void close()
      {
           System.out.println("netcard close");
      }
}
class DuoTaiDemo5
{
      public static void main(String[] args)
      {
       MainBoard mb = new MainBoard();
       mb.run();
       mb.useNetCard(new NetCard());//这里用的是useNetCard(NetCard c) 这个方法,
                                  //mb.useNetCard(new NetCard())相当于把new NetCard()这个对象传给了形式参数c,
                                                  //也就是相当于NetCard c=new NetCard()
     
   }
}

作者: 郑文博    时间: 2012-6-26 13:42
public void useNetCard(NetCard c) /*调用的是对象引用 ,此处 NetCard c   NetCard:是网卡 , c:是网卡这个对象的引用。此处的的c是指向mb.useNetCard(new NetCard());中对象建立时的对象new NetCard。*/
作者: 郑庆伟    时间: 2012-6-26 14:28
非常感谢  我明白了,看来我要在看看以前学的内容。




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