abstract class shape
{
public abstract void square();
}
class shape1 extends shape{
float bianchang=3.14;
public void square()
{
System.out.println( bianchang*bianchang);
}}
class shape2 extends shape{
float bianchang=3.14;
float kuangdu=9.6;
public void square()
{
System.out.println( bianchang*kuangdu*bianchang);
}}
public class Test
{
public static void main(String[] args)
{
shape A=new shape1;
shape B=new shape2;
square(shape A);
square(shape B); }
}
我想学java 可是为什么 不能够编译成功

解决方案 »

  1.   

    square(shape A)和square(shape B) 改为A.square()和B.square() 你试试
      

  2.   

    将你代码修改为如下:
    abstract class shape
    {
        public abstract void square();
    }
    class shape1 extends shape{
        float bianchang=3.14f;
        public void square()
        {
            System.out.println( bianchang*bianchang);
        }}
    class shape2 extends shape{
        float bianchang=3.14f;
        float kuangdu=9.6f;
        public void square()
        {
            System.out.println( bianchang*kuangdu*bianchang);
        }
    }public class Test
    {
        public static void main(String[] args)
        {
            shape A=new shape1();
            shape B=new shape2();
            A.square();
            B.square();
        }
    }
      

  3.   

    float bianchang=3.14;
    3.14默认是double类型的,要是标志是float要在后面加上f  或  F
      

  4.   

    改成
             shape A=new shape1();
            shape B=new shape2();
            A.square();
            B.square();
    另外