wywołanie metody(z klasy 1) uzytej w klasie 2

0

Cześć.
W klasie w TablicaUporządkowana wykorzystuje metode z klasy tablica.

class TablicaUporządkowana
{
	private int[] tab;
	private int liczbaEle;
 
	public TablicaUporządkowana (Tablica tab) {}
	public TablicaUporządkowana (TablicaUporządkowana tab) {}
	public TablicaUporządkowana(int[] tablica) {
		Tablica t = new Tablica(tab);
		t.sortuj();
        this.tab = t.pobierzTablice();
        this.liczbaEle = t.pobierzLiczbeElementow(); }

Problem mam z wywołaniem tej metody w klasie z wywołaniami
Chcąc wyświetlić liczbe elementow tablicy z klasy Tablica odwołuję się jak poniżej i wszystko działa.

public class Wywolania {
	
public static void main(String[]args){
Tablica tablica = new Tablica(tablica);
System.out.println("Liczba elementów w tablicy: " + tablica.pobierzLiczbeElementow());

A chcąc wyświetlić liczbe elementów z klasy TablicaUporządkowana robie coś źle

TablicaUporządkowana tablicaUporzadkowana = new TablicaUporządkowana(tablica);
System.out.println("Liczba elementów w tablicy: " + tablicaUporzadkowana.t.pobierzLiczbeElementow() );

System.out.println("Liczba elementów w tablicy: " + tablicaUporzadkowana.pobierzLiczbeElementow());  //tak tez nie działa

Mógłby mi ktoś napisać jak to powinno wyglądać

0
  1. Nie powinieneś w ogóle odnosić się do pól klasy bezpośrednio w ten sposób, tylko za pomocą akcesorów
  2. 't' nie jest polem klasy TablicaUporądkowana tylko zmienną lokalną w konstruktorze. To znaczy że po wyjściu z konstruktora 't' po prosty zniknie. Musisz je przypisać do pola klasy.
0

Pierwsze nie działa ponieważ TablicaUporządkowana nie ma składowej t, t jedynie lokalna zmienna w jednej z metod.
Drugie nie działa ponieważ TablicaUporządkowana nie ma metody pobierzLiczbeElementow():

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.