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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓飞飞 中级黑马   /  2012-4-8 10:11  /  2143 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Hello extends Thread {  
    public void run() {     
     for (int i = 0; i < 7; i++) {     
         if (count > 0) {      
          System.out.println("count= " + count--);           
   }   
    }   
}

public static void main(String[] args) {     
     hello h1 = new hello();   
     hello h2 = new hello();        
hello h3 = new hello();      
    h1.start();   
     h2.start();        
h3.start();     
}   
   private int count = 5;
}
我要问的问题是为什么最后定义一个private int count = 5;    还有一个问题是为什么要把主函数Main 放在类Hello 中  可以把主函数拿到类Hello外吗
   

5 个回复

倒序浏览
我要问的问题是为什么最后定义一个private int count = 5;   
  if (count > 0) {      
          System.out.println("count= " + count--);           
   } 说明count是用来判断此输出次数
还有一个问题是为什么要把主函数Main 放在类Hello 中  可以把主函数拿到类Hello外吗?这个无所谓的,主函数只要放类中就成,至于哪个类,你自己看办,一般放在和文件名同名的类中,阅读性好些
回复 使用道具 举报
定义一个count成员变量,只是为了运行时,看多线程运行时线程的切换效果,i 的值应该写大一点,运行效果比较明显。
主函数也是一个函数,属于一个类中的成员。所以要放在类里边。
回复 使用道具 举报
你可以把count=5想象成五张还没有卖出去的票,所以用private来限制权限,当线程运行的时候就把票count=5传给买票机买票,每当你卖出一张票的时候count自动减一,当count=0 的时候表示票卖光了。这样不知道你是不是能更好的理解那个private count = 5
回复 使用道具 举报
这个private int count=5; 放最后也一样,它是个成员变量,当你开启3个线程的时候它就开始操作这个数了,main方法可以拿到Hello类的外面,但是要定义在别的类中
回复 使用道具 举报
人生没有彩排,每天都是现场直播!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马