Начал осваивать Java. Все никак не могу понять, для чего в примерах создается ссылка на объект? Почему нельзя обойтись без этой ссылки? Для чего она?
abstract class Figure {
double dim1;
double dim2;
Figure(double a, double b) {
dim1 = a;
dim2 = b;
}
abstract double area();
}
class Rectangle extends Figure {
Rectangle(double a, double b) {
super(a, b);
}
double area() {
System.out.println("В области четырехугольника.");
return dim1 * dim2;
}
}
class Triangle extends Figure {
Triangle(double a, double b) {
super(a, b);
}
double area() {
System.out.println("В области треугольника.");
return dim1 * dim2 / 2;
}
}
class Example {
public static void main(String[] args) {
Rectangle r = new Rectangle(9, 5);
Triangle t = new Triangle(10, 8);
Figure figref; // Вот эта ссылка
figref = r;
System.out.println("Площадь равна " + figref.area());
figref = t;
System.out.println("Площадь равна " + figref.area());
}
}
Для чего делать так? Почему бы просто не использовать эту ссылку и сделать так:
class Example {
public static void main(String[] args) {
Rectangle r = new Rectangle(9, 5);
Triangle t = new Triangle(10, 8);
System.out.println("Площадь равна " + r.area());
System.out.println("Площадь равна " + t.area());
}
}