Jaka jest różnica między klasą publiczną a klasą w Javie?


Najlepsza odpowiedź

Jeśli klasa nie ma żadnego modyfikatora dostępu, będzie traktowana jako domyślny modyfikator dostępu.

Domyślny modyfikator dostępu oznacza, że ​​nie deklarujemy jawnie modyfikatora dostępu dla klasy, pola, metody itp.

Zmienna lub metoda zadeklarowana bez żadnego modyfikatora kontroli dostępu jest dostępna dla każdego inna klasa w tym samym pakiecie. Pola w interfejsie są niejawnie public static final, a metody w interfejsie są domyślnie publiczne.

Public -A klasa, metoda, konstruktor, interfejs itp. Zadeklarowane jako publiczne mogą być dostępne z dowolnej innej klasy . Dlatego też pola, metody, bloki zadeklarowane wewnątrz klasy publicznej mogą być dostępne z dowolnej klasy należącej do Java Universe.

Jeśli jednak klasa publiczna, do której próbujemy uzyskać dostęp, znajduje się w innym pakiecie, wówczas klasa publiczna nadal musi zostać zaimportowana. Ze względu na dziedziczenie klas wszystkie publiczne metody i zmienne klasy są dziedziczone przez jej podklasy.

Przykład

Public static void main (string [] args)

{

// …………………………………

}

Metoda main () aplikacji musi być publiczna. W przeciwnym razie interpreter języka Java (na przykład java) nie mógłby go wywołać w celu uruchomienia klasy.

Odpowiedź

Plik Java może mieć dowolną liczbę definicji klas. kiedy kompilujemy plik java, kompilator generuje niezależne pliki .class dla każdej definicji klasy.

Jeśli twój plik java zawiera jedyną główną klasę, nie ma potrzeby definiowania jej jako publicznej.

Jeśli plik Java zawiera wiele klas, nie możesz ustawić każdej klasy jako publicznej, ponieważ w każdym pliku Java dozwolona jest tylko jedna klasa publiczna. w tym przypadku nazwa klasy publicznej i nazwa pliku Java muszą być takie same.

//filename: Main6.java

class Demo2

{

public void Demo2()

{

System.out.println("Hello world");

}

}

class Main6

{

public static void main(String[] args)

{

Demo2 d=new Demo2();

d.Demo2();

}

}

output

Hello world

W powyższym przykładzie nie zadeklarowałem klasy głównej jako publicznej, ale nadal działa, ponieważ jako nazwę pliku podałem nazwę klasy głównej.

//filename: Main6.java

public class Demo2

{

public void Demo2()

{

System.out.println("Hello world");

}

}

class Main6

{

public static void main(String[] args)

{

Demo2 d=new Demo2();

d.Demo2();

}

}

output:

Main6.java:1: error: class Demo2 is public, should be declared in a file named Demo2.java

Zobacz, tym razem pojawia się błąd. Dlatego dobrą praktyką jest zdefiniowanie klasy głównej jako publicznej, jeśli masz wiele klas w jednym pliku Java. Jak wiemy, wykonanie programu zaczyna się od metody głównej.

Mamy nadzieję, że otrzymałeś odpowiedź

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *