Java编译错误在实现接口时找不到符号

时间:2016-05-26 14:20:39

标签: java interface

在编译Java类时显示以下错误:

  

Radius.java:27:错误:找不到符号
      公共类Radius实现B,C
                                     ^         符号:B级       Radius.java:27:错误:找不到符号
      公共类Radius实现B,C
                                       ^         符号:C级       2个错误

有问题的Java类:

class A
{
    int radius;
    interface B
    {
        public String displayRadius();
    }

    interface C
    {
        public String displayArea();
    }

    public void displayRadius()
    {
        radius=2;
        System.out.println("Radius : "+radius);
    }

    public void displayArea()
    {
        double area;
        area=3.14*radius*radius;
        System.out.println("Area :"+area);
    }
}

public class Radius implements B,C
{
    public static void main(String args[])
    {
        A ob=new A();
        ob.displayRadius();
        ob.displayArea();
    }
}

有什么问题?

1 个答案:

答案 0 :(得分:2)

接口不能直接访问,因为它们嵌套在类A中。请改用:

public class Radius implements A.B, A.C

所以整个代码变成了:

class Radius implements A.B, A.C {
    public static void main(String args[]) {
        A ob = new A();
        ob.displayRadius();
        ob.displayArea();
    }

    @Override
    public String displayArea() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String displayRadius() {
        // TODO Auto-generated method stub
        return null;
    }
}

class A {
    int radius;

    interface B {
        public String displayRadius();
    }

    interface C {
        public String displayArea();
    }

    public void displayRadius() {
        radius = 2;
        System.out.println("Radius : " + radius);
    }

    public void displayArea() {
        double area;
        area = 3.14 * radius * radius;
        System.out.println("Area :" + area);
    }
}