/ / Jakie jest domyślne pole Modyfikator w klasie Java? - Java, odbicie, pole, modyfikatory dostępu

Co to jest domyślne pole Modyfikator w klasie Java? - Java, odbicie, pole, modyfikatory dostępu

W poniższym kodzie pole 1 nie ma modyfikatora: public / protected / private

public class class1 {
String field1;
}

Więc jaki jest modyfikator pola 1?

W definicji modyfikatora w Javie są to wszystkie modyfikatory istotne dla pola:

    Modifier.PUBLIC         | Modifier.PROTECTED    | Modifier.PRIVATE |
Modifier.STATIC         | Modifier.FINAL        | Modifier.TRANSIENT |
Modifier.VOLATILE;

Który z modyfikatorów ma pole 1? Czuję, że nie ma żadnego z Modifier.PUBLIC, Modifier.PROTECTED i Modifier.PRIVATE

Pytam o to, ponieważ chcę uzyskać dostęp do tego pola poprzez odbicie w Javie.


Dzięki. Za odpowiedzi.

W rzeczywistości nie ma modyfikatora.

Przetestowałem getModifiers () dla field1. Zwraca 0.

Dzięki.

Odpowiedzi:

3 dla odpowiedzi № 1

Nie ma modyfikatora. Więcej szczegółów na temat tego braku modyfikatora można znaleźć tutaj:

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html


1 dla odpowiedzi nr 2

Jego modyfikator jest znany jako default. Jest to każdy modyfikator zmiennej / funkcji, który nie mówi jednoznacznie o żadnym innym modyfikatorze.


0 dla odpowiedzi № 3

Nie ma żadnych modyfikatorów. Możesz uzyskać dostęp do pola z klasy, pakietu, ale nie z podklasy lub innej paczki.


0 dla odpowiedzi nr 4

Dawka ma modyfikator - domyślnie, co zawsze jest implikowane. Pole lub metoda zmodyfikowana domyślnie jest dostępna dla klas, które mają ten sam pakiet z polem lub metodą.