Java编译器无法识别派生类,即“类”;“未找到符号”;错误

Java编译器无法识别派生类,即“类”;“未找到符号”;错误,java,inheritance,Java,Inheritance,当我试图编译这段代码时,我遇到了一个“找不到符号”错误。大体上,我可以创建Ball类型的对象,这没有问题,但如果我尝试创建Basketball类型的对象,编译器会抱怨。我对java很陌生,请帮忙 class Ball { public double radious; public String color; Ball( double radious, String color ) { this.radious = radious; thi

当我试图编译这段代码时,我遇到了一个“找不到符号”错误。大体上,我可以创建Ball类型的对象,这没有问题,但如果我尝试创建Basketball类型的对象,编译器会抱怨。我对java很陌生,请帮忙

class Ball {
    public double radious;
    public String color;

    Ball( double radious, String color ) {
        this.radious = radious;
        this.color = color;
    }

    public double area() {
        return (4 * Math.pow(this.radious, 2) * Math.PI );
    }

    public void display() {
            System.out.println("\nRadious: " + radious );
            System.out.println("Color: " + color );
    }

    class Basketball extends Ball {
        public int noOfStripes;

        Basketball( int n, double r, String c ) {
            super( r, c );
            noOfStripes = n;
        }

        Basketball( double r, String c ) {
            super( r, c );
            noOfStripes = 8; // Default value 
        }

        public void display() {
            super.display();
            System.out.println("Area: " + area() );
            System.out.println("noOfStripes: " + noOfStripes );
        }
    }
}

class Driver {
    public static void main( String[] args ) {
        Ball basket1 = new Ball( 29.5, "Orange" );
        basket1.display();

        Ball basket2 =new Basketball( 29.5, "Black" );
    }
}

你需要用
Ball
获得
BasketBall
资格:

Ball.Basketball basket2 = new Ball.Basketball( 29.5, "Black" );
正如其他评论和答案所指出的,您不应该使用内部类进行继承。篮球应该是一门独立的课程:

public class BasketBall extends Ball {

}

你需要用
Ball
获得
BasketBall
资格:

Ball.Basketball basket2 = new Ball.Basketball( 29.5, "Black" );
正如其他评论和答案所指出的,您不应该使用内部类进行继承。篮球应该是一门独立的课程:

public class BasketBall extends Ball {

}

你需要用
Ball
获得
BasketBall
资格:

Ball.Basketball basket2 = new Ball.Basketball( 29.5, "Black" );
正如其他评论和答案所指出的,您不应该使用内部类进行继承。篮球应该是一门独立的课程:

public class BasketBall extends Ball {

}

你需要用
Ball
获得
BasketBall
资格:

Ball.Basketball basket2 = new Ball.Basketball( 29.5, "Black" );
正如其他评论和答案所指出的,您不应该使用内部类进行继承。篮球应该是一门独立的课程:

public class BasketBall extends Ball {

}

您创建的
Basketball
不仅是
Ball
的子类,而且还是一个内部类。它不需要是一个内部类

定义
Ball
类的支架外侧的
Basketball

    }
}  // End of Ball class

class Basketball extends Ball
{
   // ...

您创建的
Basketball
不仅是
Ball
的子类,而且还是一个内部类。它不需要是一个内部类

定义
Ball
类的支架外侧的
Basketball

    }
}  // End of Ball class

class Basketball extends Ball
{
   // ...

您创建的
Basketball
不仅是
Ball
的子类,而且还是一个内部类。它不需要是一个内部类

定义
Ball
类的支架外侧的
Basketball

    }
}  // End of Ball class

class Basketball extends Ball
{
   // ...

您创建的
Basketball
不仅是
Ball
的子类,而且还是一个内部类。它不需要是一个内部类

定义
Ball
类的支架外侧的
Basketball

    }
}  // End of Ball class

class Basketball extends Ball
{
   // ...

由于
Basketball
Ball
的一个内部类,因此必须通过以下方式创建对象:

Ball.Basketball myBasketball = new Ball().new Basketball(/* foo arguments */);

但更好的解决方案是,将其移动到外部成为自己的类。

因为
Basketball
Ball
的一个内部类,所以必须通过以下方式创建对象:

Ball.Basketball myBasketball = new Ball().new Basketball(/* foo arguments */);

但更好的解决方案是,将其移动到外部成为自己的类。

因为
Basketball
Ball
的一个内部类,所以必须通过以下方式创建对象:

Ball.Basketball myBasketball = new Ball().new Basketball(/* foo arguments */);

但更好的解决方案是,将其移动到外部成为自己的类。

因为
Basketball
Ball
的一个内部类,所以必须通过以下方式创建对象:

Ball.Basketball myBasketball = new Ball().new Basketball(/* foo arguments */);


但更好的解决方案是,将其移到外部成为自己的类。

当您仍在学习继承时,不应创建内部类。下次发布stacktrace和确切规范时,错误在哪里ouccurs@for3st没有stacktrace。代码无法编译。当您仍在学习继承时,不应创建内部类。下次发布stacktrace和确切的规范时,会发现错误ouccurs@for3st没有stacktrace。代码无法编译。当您仍在学习继承时,不应创建内部类。下次发布stacktrace和确切的规范时,会发现错误ouccurs@for3st没有stacktrace。代码无法编译。当您仍在学习继承时,不应创建内部类。下次发布stacktrace和确切的规范时,会发现错误ouccurs@for3st没有stacktrace。代码没有编译,谢谢。每天学习新东西。@user2866359小心点。当使用内部类时,您需要顶级类的现有实例来创建内部类。正确的代码应该是
newball()@LuiggiMendoza不应该匆忙回答。。。修正了。谢谢你指出:)谢谢。每天学习新东西。@user2866359小心点。当使用内部类时,您需要顶级类的现有实例来创建内部类。正确的代码应该是
newball()@LuiggiMendoza不应该匆忙回答。。。修正了。谢谢你指出:)谢谢。每天学习新东西。@user2866359小心点。当使用内部类时,您需要顶级类的现有实例来创建内部类。正确的代码应该是
newball()@LuiggiMendoza不应该匆忙回答。。。修正了。谢谢你指出:)谢谢。每天学习新东西。@user2866359小心点。当使用内部类时,您需要顶级类的现有实例来创建内部类。正确的代码应该是
newball()@LuiggiMendoza不应该匆忙回答。。。修正了。谢谢你指出:)