switch((int)(Math.random*2))
{
    case 0:  return new Circle();
    case 1:  return new Square();
    default: ; // 加一个 ; 
}

解决方案 »

  1.   

    case 0:  return new Circle();break;
        case 1:  return new Square();break;
        default:return null;
      

  2.   

    靠。 错了,我今天总发错switch((int)(Math.random*2))
    {
        case 0:  return new Circle();
        case 1:  return new Square();
        default: return null; 
    }
    public static Shape randShape()必须有返回值。
      

  3.   

    呵呵,小弟明白了,谢谢众位前辈,必须要返回一个类型,再把它upcasting到shape类型:)
    谢谢各位帮助:)
      

  4.   

    呵呵,这种错误是不是都很容易犯?
    “default:”后的“return null”是必须要有的吗?
      

  5.   

    public static Shape randShape(){
    switch((int)(Math.random*2))
    {
        case 0:  return new Circle();
        case 1:  return new Square();
        default: ; 
    }
    ...
    }---没return值,错误。
    是啊,不然switch做完了都没有返回东西