Проверьте два объекта разных классов

У меня есть три класса:

  1. Человек
  2. Отец
  3. Ребенок.

Родительский класс расширяет Отец и Отец расширяет Человека.

Я создал несколько экземпляров каждого класса и сохранил их в ArrayList.

Теперь я хочу написать метод, чтобы проверить, имеет ли объект father1 один и тот же адрес поля (например: "21 str Goodwin") в качестве поля адреса объекта child1 (экземпляры класса "Отец и ребенок") и передать этот метод моему ArrayList и распечатать если какие-либо результаты были найдены.

Как я могу это сделать?

Позвольте мне добавить мой код здесь для большей ясности:

Человеческий класс:

public class Om { String nume; String prenume; String cnp;
Om(String nume,String prenume,String cnp){
this.nume=nume;
this.prenume=prenume;
this.cnp=cnp;
}
@Override
public String toString() { return "Numele omului: " + this.nume +"\n"+ "Prenumele omului: " + this.prenume +"\n"+ "Cnp-ul omului: " + this.cnp + "\n" ;
}
}

Класс отца:

public class Parinte extends Om{
String domiciliu;
Parinte(String nume, String prenume, String cnp, String domiciliu){ super(nume,prenume,cnp); this.domiciliu=domiciliu;
}
@Override
public String toString() { return "Numele parintelui: " + nume +"\n"+ "Prenumele parintelui :" + prenume +"\n"+ "Cnp-ul parintelui: " + cnp +"\n"+ "Domiciliul parintelui: "+domiciliu+"\n";
}
}

Класс ребенка:

public class Copil extends Parinte {
int varsta;
Copil(String nume, String prenume, String cnp, String domiciliu, int varsta){ super(nume,prenume,cnp,domiciliu); this.varsta=varsta;
}
@Override
public String toString() { return "Numele copilului: " + nume +"\n"+ "Prenumele copilului :" + prenume +"\n"+ "Cnp-ul copilului: " + cnp +"\n"+ "Domiciliul compiluiui: "+ domiciliu +"\n"+ "Varsta copilului: "+varsta+"\n";
}
}

Мой метод сортировки списка по алфавиту:

import java.util.*;
public class comparareNume implements Comparator<om>{
public int compare(Om om1, Om om2){ return om1.nume.compareTo(om2.nume);}
}
</om>

И мой основной класс:

import java.util.*;
public class main {
public static void main(String[] args) { Om om1=new Om("Dubolari", "Dragos", "2006004034120"); Om om2=new Om("Andronachi","Andrei", "12591295967123"); Parinte p1=new Parinte("Vreascu","Andy","5845289564684","Al. Cel Bun 13"); Copil c1 = new Copil("Mamaliga","George","5942356874156","Al. Cel Bun 13", 15); List<om> colectie = new ArrayList<om>(); colectie.add(om1); colectie.add(p1); colectie.add(c1); colectie.add(om2); comparareNume comparNume = new comparareNume(); Collections.sort(colectie, comparNume); System.out.println(colectie); }
}
</om></om>
2 ответа

FatherObj.getAddress().equals(ChildObj.getAddress())

Пример для getAddress() и address поля внутри Child and Father

private String address = "21 str Goodwin"
public String getAddress() { return address;
}


Поместите такую функцию в Human, которая устанавливается через конструктор (его также можно установить с помощью сеттера, но при этом в конструкторе допускается неизменность).

public Human(String address) { addr = address;
}
public String getAddress() { return addr;
}

Эта функция доступна для всех подклассов.

Затем вы можете получить к нему доступ, как было предложено @NappaTheSaiyan

licensed under cc by-sa 3.0 with attribution.