Вот код:Как я могу получить доступ к методам разных классов в Java, используя массив типа Object
public static void main(String args[])
{
Circle objCircle = new Circle(5);
Square objSquare = new Square(5);
Triangle objTriangle = new Triangle(3, 4);
Sphere objSphere = new Sphere(5);
Cube objCube = new Cube(5);
Tetrahedron objTetra = new Tetrahedron(5);
Object[] Shape = new Object[5];
Shape[0] = objCircle;
Shape[1] = objSquare;
Shape[2] = objTriangle;
Shape[3] = objSphere;
Shape[4] = objCube;
Shape[5] = objTetra;
for(int i = 0; i<Shape.length; i++)
{
//Problem occured in this section of code
System.out.println(Shape[i].getArea());
}
}
}
У меня есть шесть различных классов, и все они имеют метод GetArray() с их собственным определением. Я хочу напечатать значения, которые метод getArray() возвращает из разных классов, используя массив Shape.
Вам нужно бросить, или используйте интерфейс. – SLaks
Я использовал абстрактный класс. У меня 6 классов. кастинг, если я бросаю для каждого класса отдельно. – cnayak
@Chandan: У вашего абстрактного класса есть метод getArea()? Если это так, просто измените массив как массив этого типа, а не 'Object []'. –