刚学java遇到个题不知道怎么解决就说用一个接口
public interface Lockable {
public void setkey(int key);//设置密码
public void lock(int key);//锁住对象,外界不可以访问
public void unlock(int key);//解开对象,外界可以访问
public boolean locked();//判断对象是否上锁}
然后在类coin中定义接口的实现方式
-----------------------------------------------------------------------------------public class Coin implements Lockable
{
   private int lockkey ; //定义一个字符串用于存入密码
   private boolean locked ;//用于判断对象是否上锁
    //-----------------------------------
//定义接口
        //------------------------------------
public void setkey(int key)
{
lockkey = key ;
}
public void lock(int key)
{
if (lockkey == key )
   {

locked = true ;//
System.out.println("It is locked!");
   }
   else {
     locked = false ;//
             System.out.println("The key cannot match this lock!");
        }
    }
public void unlock(int key)
{
if (lockkey == key )

locked = false ;//
    System.out.println("It is unlocked!");
}
else 
{
   locked = true ;//
           System.out.println("The key cannot match this lock!");
}
}
public boolean locked()
{

return locked ;
}


//--------------------------------
//以下是coin的方法,我把方法的具体内容省略了
//-----------------------------
  //-----------------------------------------------------------------
   //  Sets up the coin by flipping it initially.
   //-----------------------------------------------------------------
   protected Coin ()
   {
     
   }    //-----------------------------------------------------------------
   //  Flips the coin by randomly choosing a face value.
   //-----------------------------------------------------------------
   protected void flip (){}    //-----------------------------------------------------------------
   //  Returns true if the current face of the coin is heads.
   //-----------------------------------------------------------------
   protected boolean isHeads ()
   {
      
   }    //-----------------------------------------------------------------
   //  Returns the current face of the coin as a string.
   //-----------------------------------------------------------------
   public String toString()
   {
      
      
   }
}
----------------------------------------------------------------------------------------
完整的题就是:
设计一个接口Lockable,接口中包含如下方法:setKey,lock,unlock和locked .
  setKey,lock,unlock方法内均含有一个代表钥匙的整型参数。setKey方法用来建立钥匙。lock和unlock方法分别用来锁住和打开对象,但只有正确的钥匙才能够行使这一权利。locked方法返回一个表明对象是否已经被上锁的布尔值。 Lockable对象内的标准方法都使用protected修饰符进行修饰:
若对象未上锁,则可以调用这些方法;若对象已上锁,则无法调用这些方法。

解决方案 »

  1.   

    我有3个地方不明白1。protected方法的具体访问规则
    2。Lockable对象内的标准方法是指哪些?
    3.按我的理解
       应该是外部的类在调用coin类的时候,先调用locked来判断是否coin对象已经上锁
       然后再执行相应的语句...
       但是找不到什么好方法来实现先调用locked
    希望有人能指点一下.