LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1021|回复: 1

求助!!!

[复制链接]
发表于 2006-7-24 13:01:46 | 显示全部楼层 |阅读模式
下面的程序:
public interface Act {
        void act();
}
class TryOut implements Act{
        public void act(){
                System.out.println("To be, or not to be");
        }

}
class Actor2 implements Act{
        public void act(){
                System.out.println("Wherefore art thou Romeo?");
        }
}
public class TryOut{
        public static void main(String args[]){
                Actor1 hamlet = new Actor1();
                Actor2 juliet = new Actor2();
                tryout(hamlet);
                tryout(juliet);
        }
        private static void tryout(Act b){
                b.Act();
        }
}

1.tryout方法为啥不要不行?
2.而且tryout方法前面还加上private static ,不要不行吗?
3.tryout方法里面为啥必须得要Act这个变量?
发表于 2006-8-2 14:12:39 | 显示全部楼层
1.tryout方法为啥不要不行?
可以不要,tryout的目的是执行Act.act(),直接执行就可以!

2.而且tryout方法前面还加上private static ,不要不行吗?
不用static就需要创建TryOut实例:
TryOut tryOut = new TryOut();
tryOut.tryout(xx);

3.tryout方法里面为啥必须得要Act这个变量?
同1

你也可以这样写:
public interface Act {
    abstract void act();
}
class TryOut implements Act{
    public void act(){
        System.out.println("To be, or not to be");
   }
}
class Actor2 implements Act{
    public void act(){
       System.out.println("Wherefore art thou Romeo?");
    }
}
public class TryOut{
public static void main(String args[]){
    Act hamlet = new Actor1();
    Act juliet = new Actor2();
    TryOut tryOut = new TryOut();
    tryOut.tryout(hamlet);
    tryOut.tryout(juliet);
  }
  private void tryout(Act b){
    b.Act();
  }
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表