Ponieważ właśnie rozpoczęły kodowania nie daje pojęcia jak refleksji i wszystko .. tutaj jest jednym z prosty sposób ma publiczną metodę getter()
.
Rozważmy Ten prosty przykład
class Something {
private int a=10;
public int getA() {
return a;
}
}
Oto pierwsza który ma metodę publiczną które zwracają obiekt, który stworzyłem w tej klasie dla Something klasy
class MyFirstClass {
private Something st;
public MyFirstClass() {
this.st = new Something();
}
public Something getSt() {
return st;
}
}
dostępu do niego z innej klasy
class MySecondClass {
public static void main(String...strings){
MyFirstClass my =new MyFirstClass();
System.out.println(my.getSt().getA());
}
}
Wyjście: 10
Jeśli wan't zweryfikować
wstrzyknąć tę funkcję w MyFirstClass
public void printHashcode(){
System.out.println(st);
}
a następnie wydrukować kody hash z obu metod w MySecondClass
klasy MySecondClass {
public static void main(String...strings){
MyFirstClass my =new MyFirstClass();
System.out.println(my.getSt());
my.printHashcode();
}
}
Zobaczysz, że rzeczywiście używasz obiektu utworzonego w MyFirstClass
w MySecondClass
.
Ponieważ to daje ten sam wynik hashcode.
Wyjście na moim komputerze.
[email protected]
[email protected]
Użycie ** Dziedziczenie **. 'extend'' Something' from 'MyFirstClass' oraz' MySecondClass'. Następnie możesz użyć wszystkich atrybutów 'Something''s atrybut' MyFirstClass' i 'MySecondClass'. –
Nie jestem pewien, czy rozumiem. Czy chcesz użyć utworzonego obiektu ('st') w' MySecondClass'? Jeśli tak, spójrz na odpowiedź Ankur. – qwertz