Прежде чем вы начнете читать, я хотел бы уточнить:
Я уже думал о других проектах и способах обхода
Меня интересует только проблема, которую я раскрыл, а не «ее изменение» (поэтому нет таких решений, как удаление точек в A и создание новых полей точек в B и C ...
рассмотрим следующий код:
public class A {
protected cpVect[][] points = null;
...
}
и его классы, которые его наследуют:
public class B extends A{
...
}
public class C extends A{
...
}
пока все хорошо.
Моя проблема в том, что для B и C содержатся массивы точек, которые будут созданы в конструкторе с использованием чего-то вроде
if(points == null){calculate points code}
проблема заключается в следующем
точек в A не могут быть статичными, потому что размеры B и C различны.
но каждый экземпляр B будет делить баллы B, а каждый экземпляр C будет делить баллы C. (другими словами, квадрат всегда будет квадратом, а треугольник всегда будет треугольником). и поэтому я хочу, чтобы B: points и C: points были статическими, чтобы я не получал дубликаты значений для каждого экземпляра.
Так есть ли способ переопределить точки как статические в B и C, когда они не являются статичными в A?