Главный класс:
public class Main {
public static void main(String[] args){
Circle c = new Circle();
}
}
Абстрактный класс Shape, от которого наследуюсь
abstract class Shape {
double area;
Shape(){
calculateArea();
}
protected abstract void calculateArea();
}
Класс, который ловит проблему
class Circle extends Shape{
float radius = 10f;
Circle() {
super();
}
@Override
protected void calculateArea() {
area = 2 * Math.PI * this.radius;
System.out.println(radius == 0);
System.out.println(radius + "rad in calc");
System.out.println(area + " = area");
}
}
При запуски выводит вот это. true 0.0rad in calc 0.0 = area
Я не понимаю, почему переменная radius является нулём. Ведь в классе Shape я ее инициализирую (radius = 10f)
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости