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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑庆伟 中级黑马   /  2012-6-26 12:25  /  1875 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郑庆伟 于 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());
      }
}

4 个回复

倒序浏览
public void useNetCard(NetCard c) 这是定义的一个返回值为空的函数,这个函数接收的是一个类类型的参数,c是接收这个类类型的存储变量名。
在这个例子里,就相当于主板有个插口接收了网卡这个类,这样就能操作网卡,调用方法了

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
/*
需求:
电脑运行实例,
电脑运行基于主板。
*/
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()
     
   }
}
回复 使用道具 举报
public void useNetCard(NetCard c) /*调用的是对象引用 ,此处 NetCard c   NetCard:是网卡 , c:是网卡这个对象的引用。此处的的c是指向mb.useNetCard(new NetCard());中对象建立时的对象new NetCard。*/
回复 使用道具 举报
非常感谢  我明白了,看来我要在看看以前学的内容。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马