Трудно понять, что вы спрашиваете, но вот возможный ответ:
Сделать класс B подклассом A:
public class A {
// Declaration of the 'array' attribute
public float[] array = new float[]{1.1f, 2.2f, 3.3f};
}
class B extends A {
// Every instance of 'B' also has an 'array' attribute
}
Если array
объявлено как public static
, возникает ситуация, когда существует атрибут array
, который можно назвать A.array
или B.array
. (Или в пределах A
или B
как просто array
... или даже как a.array
или b.array
, где a
и b
имеют типы A
и B
соответственно.)
Если вы не можете создать прямое или подтипное отношение между A
и B
(или A
, B
и некоторым третьим классом, содержащим объявления), то вам не повезло. Там нет никакого способа, которым они могут поделиться декларациями.
Однако вы можете использовать статический импорт, чтобы создать впечатление, что объявление является общим. Например:
public class A {
// Declaration of the 'array' attribute
public float[] array = new float[]{1.1f, 2.2f, 3.3f};
}
import static A.array;
class B {
// now I can use 'array' without qualifying it with 'A'
}
Кстати, обычно плохая идея использовать static
переменные для совместного использования состояния, особенно состояния, представленного в виде пустых массивов. Это явно не объектно-ориентированный.