Я пытаюсь повторно использовать часть кода, которая действует на объект класса, у меня есть несколько классов, которые по большей части имеют 90% одинаковых имен методов, сейчас у меня есть куча операторов if else, где первая строка уникальны, а остальные одинаковы, есть ли способ передать объект и использовать его методы?
Я пытался просто взять повторный код и вставить в метод в моей деятельности, но имена методов никогда не распознаются, независимо от того, как я повторно инициализирую объект
например, я бы сделал метод lookupclass (Object lookupObject) и вставил туда неспецифический код, а непосредственно перед тем, как этот код попытался сделать много разных попыток создания объекта из переданного объекта, большинство распознает новый объект в коде, но все методы (например, lookup.loadClass(fileToLookup))
отображаются как не распознанные
if (databaseFolder.equals(CustomerFolder)) {
CustomerClass lookup = new CustomerClass();
//region nonspecific code on object
lookup.loadClass(fileToLookup);
String[] tempString = new String[lookup.positionIds.length * 2];
String[] tempExpandString = new String[lookup.positionIds.length];
String[] classData = lookup.getClassData();
String[] positionNames = lookup.positionNames;
for (int i = 0; i < lookup.positionIds.length; i++) {
tempString[i * 2] = positionNames[i];
if (lookup.positionExpandableToMultipleBoolean[i] && classData[i] != null && classData[i].contains(",")) {
tempString[i * 2 + 1] = "Multiple- Click to Expand";
tempExpandString[i] = classData[i];
} else if (lookup.positionExpandableToMultipleBoolean[i]) {
tempString[i * 2 + 1] = lookup.expandablePositionIdToName(i, classData[i]);
tempExpandString[i] = classData[i];
} else if(classData[i] == null){
tempString[i * 2 + 1] = " ";
} else
tempString[i * 2 + 1] = classData[i];
}
list = tempString;
filesToExpand = tempExpandString;
//endregion
} else if (databaseFolder.equals(AddressFolder)) {
AddressClass lookup = new AddressClass();
//region nonspecific code on object
lookup.loadClass(fileToLookup);
String[] tempString = new String[lookup.positionIds.length * 2];
String[] tempExpandString = new String[lookup.positionIds.length];
String[] classData = lookup.getClassData();
String[] positionNames = lookup.positionNames;
for (int i = 0; i < lookup.positionIds.length; i++) {
tempString[i * 2] = positionNames[i];
if (lookup.positionExpandableToMultipleBoolean[i] && classData[i] != null && classData[i].contains(",")) {
tempString[i * 2 + 1] = "Multiple- Click to Expand";
tempExpandString[i] = classData[i];
} else if (lookup.positionExpandableToMultipleBoolean[i]) {
tempString[i * 2 + 1] = lookup.expandablePositionIdToName(i, classData[i]);
tempExpandString[i] = classData[i];
} else if(classData[i] == null){
tempString[i * 2 + 1] = " ";
} else
tempString[i * 2 + 1] = classData[i];
}
list = tempString;
filesToExpand = tempExpandString;
//endregion
}