У меня есть код, где я вызываю реализованный метод в классе i.e cmpreValue (int real, int virtual);Как обработать наследование, если подкласс уже расширен с базовым классом
public class TestCompare extends TestBaseClass {
private static final Logger logger = Logger.getLogger(TestCompare.class.getName());
String virtual= null;
String real= null;
XLSParser objVal ;
public void testSomeThing() {
// Returns some string value
real= objVal.getSomeStringValue();
virtual= getExpectedValue();
cmpreValue(virtual, real);
}
void cmpreValue(String virtual, String real)
{
if(real.equals(virtual))
{
logger.info(real);
}
else{
logger.info(virtual);
}
}
Здесь cmpreValue(String virtual, String real)
используется один раз, но я хочу, чтобы использовать эту функцию в моем другом классе, а также. Так что я попытался сделать еще один мой класс т.е.
public class Helpervalidate{
void cmpreValue(String virtual, String real)
{
if(real.equals(virtual))
{
// Not Visible objVal
logger.info(**objVal**.something());
}
else{
logger.info(virtual);
}
}
и создание объекта класса Helpervalidate в моем классе TestCompare и вызов функции cmpreValue в классе TestCompare, но тогда я получаю ошибку objVal не определено в классе Helpervalidate.
Как мой класс TestCompare уже расширяет TestBaseClass, поэтому я не могу пойти на другое расширение класса. Итак, как я могу сделать свою функцию cmpreValue (String virtual, String real) повторно используемой для других классов? Есть ли способ, когда я просто добавляю funtion cmpreValue (String virtual, String real) и передаю значения, и он отлично работает?
Можете ли вы добавить свойства в класс 'Helpervalidate'? Тогда я могу помочь. –
Почему у вас есть 'logger.info (real)' в одной версии метода и 'logger.info (objVal.something()) в другом? Какое значение? – PDStat
@AnindaBhattacharyya: Да, я могу добавить ... пожалуйста, помогите. –