In Java, qual è la differenza tra public class e class?


Migliore risposta

Se una classe non ha alcun modificatore di accesso, verrà trattata con il modificatore di accesso predefinito.

Modificatore di accesso predefinito significa che non dichiariamo esplicitamente un modificatore di accesso per una classe, un campo, un metodo, ecc.

Una variabile o un metodo dichiarato senza alcun modificatore di controllo dellaccesso è disponibile per qualsiasi altra classe nello stesso pacchetto. I campi in uninterfaccia sono implicitamente pubblici statici finali e i metodi in uninterfaccia sono pubblici per impostazione predefinita.

Pubblico -Una classe, un metodo, un costruttore, uninterfaccia, ecc. Dichiarati pubblici è accessibile da qualsiasi altra classe . Pertanto, è possibile accedere a campi, metodi, blocchi dichiarati allinterno di una classe pubblica da qualsiasi classe appartenente alluniverso Java.

Tuttavia, se la classe pubblica a cui stiamo tentando di accedere si trova in un pacchetto diverso, la la classe pubblica deve ancora essere importata. A causa dellereditarietà della classe, tutti i metodi e le variabili pubblici di una classe vengono ereditati dalle sue sottoclassi.

Esempio

Public static void main (string [] args)

{

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

}

Il metodo main () di unapplicazione deve essere pubblico. Altrimenti, non potrebbe essere chiamato da un interprete Java (come java) per eseguire la classe.

Risposta

Un file Java può avere un numero qualsiasi di definizioni di classe. quando compiliamo il file java, il compilatore genera file .class indipendenti per ogni definizione di classe.

Se il tuo file java ha ununica classe principale, non è necessario definirlo come pubblico.

Se il tuo file Java ha più classi, non puoi rendere ogni classe pubblica perché è consentita solo una classe pubblica in ogni file Java. qui, il nome della classe pubblica e il nome del file Java devono essere gli stessi.

//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

Nellesempio sopra, non ho dichiarato la classe principale come pubblica ancora funzionante perché ho dato il nome della classe principale come nome del file.

//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

Ora vedi, questa volta mi dà un errore. quindi, è una buona pratica definire la tua classe principale come pubblica se hai più classi in un file java. Come sappiamo, lesecuzione del programma inizia dal metodo principale.

Spero che tu abbia la risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *