Я написал небольшую программу, в ней несколько определенных классов. Я пишу тесты для этих классов. Конструктор, который я написал для одного из классов, имеет аргумент, являющийся экземпляром другого класса. Итак, это выглядит примерно так:Проверьте, имеет ли класс переменную-член?
interface type1 {}
interface type2 {}
class class1 implements type1{
String something;
int somethingElse;
//...
}
class class2 implements type1{
String something2;
int somethingElse2;
//...
}
class class3 implements type2{
Object obj1;
Object obj2;
String blabla;
//...
class3(Object inObj1, Object inObj2, String x){
this.obj1 = inObj1;
this.obj2 = inObj2;
this.blabla = x;
}
}
Как указано выше, я создаю тесты. Существует два тестовых класса (по одному для каждого интерфейса). Я хочу, чтобы выглядеть примерно так:
class ExamplesType1{
class1 type1Something1 = new class1(...);
class2 type1Something2 = new class2(...);
}
class ExamplesType2{
class3 type2Something = new class3(type1Something1, type1Something2, ...);
}
Мой вопрос, как я могу получить доступ к объектам, которые являются членами ExamplesType1 от ExamplesType2, так что я могу ... запустить свои тесты? Предположим, что я не могу проверить оба интерфейса в одном классе и что я не могу еще раз определить объекты, определенные в ExampleType1, в ExampleType2.
Я знаю, что могу создать функцию возврата (например, getType1Something()), но они общедоступны, поэтому я не могу получить к ним доступ без определения функции?
Извините, если это новый вопрос ... только что начал Java сегодня.
Благодарим за помощь! Если требуется какое-либо разъяснение, дайте мне знать.
Было бы лучше, если бы вы придерживались соглашения об именах для имени классов и интерфейсов. Согласно Oracle: «Имена классов должны быть существительными в смешанном случае с первой буквой каждого внутреннего слова, заглавными». –
Вам нужно будет создать экземпляр 'ExampleType1', прежде чем вы сможете перейти к публичным полям. Однако вы должны использовать метод getter. – 4castle
Нет публичных членов вашего кода. –