Darmowy kurs Java

Zagadka operatora private

Modyfikatory dostępu w Javie to zagadnienie, które na pierwszy rzut oka nie wymaga wielkiego omówienia. Przypomnijmy, że w Javie mamy ich 4 rodzaje:

    • private

    • protected

    • default

    • public

    Przy czym 2 i 3 są sobie niemal równe.

    Kurs Programowania Java

    W naszym dzisiejszym przykładzie skupimy się jednak na dostępie do pól prywatnych. Nasz kod przedstawia przykładową klasę z jednym polem oznaczonym jako private, oraz jednym konstruktorem ustawiającym jego wartość. Pytanie jakie sobie postawimy, to czy można się do tego pola dostać bezpośrednio (bez metody dostępowej - gettera), czy jest to niemożliwe?

    public class Prywatka {
    	private int x = 0;
    
    	public Prywatka(int x) {
    		this.x = x;
    	}
    
    	public boolean equal(Prywatka p) {
    		return this.x == p.x;
    	}
    
    	public static void main(String[] args) {
    		Prywatka a = new Prywatka(1);
    		Prywatka b = new Prywatka(1);
    
    		System.out.print(a.equal(b)+" ");
    		System.out.print(a.x == b.x);
    	}
    }

    Pytanie: czy ten kod się skompiluje, jeśli tak, to czy w trakcie wykonania otrzymamy jakieś błędy, jeśli nie, to co wyświetli się na ekranie?

    a) Błąd w czasie kompilacji - The field Prywatka.x is not visible

    b) Błąd w czasie wykonania - Runtime Exception

    c) Program się wykona i wyświetli dwa razy true

    d) Program się wykona i wyświetli true false

    Odpowiedź.

    Zapisz się do newslettera

    Otrzymuj nasz Newsletter z przykładowymi pytaniami rekrutacyjnymi, wyzwaniami programistycznymi i nowościami ze świata Javy, a także informacje o nowych kursach i promocjach.

    Traktujemy Twoją prywatność poważnie. Nikomu nie udostępniamy Twojego maila no i zawsze możesz się wypisać.

    Komentarze do artykułu

    Wyłączyliśmy możliwość dodawania komentarzy. Poniżej znajdziesz archiwalne wpisy z czasów gdy strona była jeszcze hobbystycznym blogiem. Zapraszamy natomiast do zadawnia pytań i dyskusji na naszej grupe na facebooku.

    s4ncho

    brak odnosnika do odopowiedzi

    Szkolenie Java Wrocław