Здравствуйте, недавно начал изучать джаву, и компилятор выдал эту ошибку:

При компиляции возникли следующие ошибки:

test866.java:1: error: illegal start of type

class Объемная_фигура{
^ ^
test866.java:1: error: ';' expected
class Объемная_фигура{
^ ^
test866.java:2: error: expected
String Название;
               ^
3 errors

Вот сама программа:

class Объемная_фигура{
    String Название;
    int Длина;
    int V;

    Объемная_фигура(String Название, int Длина){
        this.Название = Название;
        this.Длина = Длина;
    }
}

class Куб extends Объемная_фигура{
    Куб(String Название,int Длина){
        super(Название, Длина);
    }

    void size(int Длина){
        this.V=this.Длина;
        for(int cikl=0; cikl<6; cikl++) this.V=this.V*this.Длина;
    }

    void info(){
        System.out.println("Название: "+this.Название);
        System.out.println("Длина: "+this.Длина);
        System.out.println("V: "+this.V);
    }
}

class Шар extends Объемная_фигура{
    int Радиус;

    Шар(String Название, int Длина, int Радиус){
        super(Название, Длина);
        this.Радиус=Радиус;
    }

    void size(){
        this.V=(4/3)*3*(this.Радиус*this.Радиус*this.Радиус);
    }

    void info(){
        System.out.println("Название: "+this.Название);
        System.out.println("Длина: "+this.Длина);                                                
        System.out.println("Радиус: "+this.Радиус);
        System.out.println("V: "+this.V);
}

class Параллелепипед extends Объемная_фигура{
    int Ширина;
    int Высота;

    Параллелепипед(String Название, int Длина, int Ширина, int 
           Высота){
        super(Название, Длина);        
        this.Ширина=Ширина;
        this.Высота=Высота;
}

    void size(){
        this.V=this.Длина*this.Ширина*this.Высота;
    }

    void info(){
        System.out.println("Название: "+this.Название);
        System.out.println("Длина: "+this.Длина);
        System.out.println("Ширина: "+this.Ширина);
        System.out.println("Высота: "+this.Высота);
        System.out.println("V: "+this.V);
    }
}
public class test866{
    public static void main(String args[]){
        Объемная_фигура[] mass= new Объемная_фигура[3];
        mass[0]= new Куб("Куб",10);
        mass[1]= new Шар("Шар",15,10);
        mass[2]= new Параллелепипед("Параллелепипед",10,5,8);
        for(int cikl=0;cikl<3;cikl++){
            mass[cikl].size();
            mass[cikl].info();
        }
    }
}

Ответы (1 шт):

Автор решения: afjord

В коде не хватало одной фигурной скобки закрытия класса Объемная_фигура, это первое.
Второе - Вы в main() вызываете методы по ссылке на суперкласс, но этих методов там нет, отсюда последуют ошибки в этих строках:

mass[cikl].size();
mass[cikl].info();

Чтобы это решить нужно добавить эти методы в суперкласс и переопределить их в наследниках.
И просто совет: установите какую-то IDE станет гораздо легче жить.

→ Ссылка