Beste svaret
Hvis en klasse ikke har noen tilgangsmodifikator, vil den bli behandlet under standard tilgangsmodifikator.
Standard tilgangsmodifikator betyr at vi ikke eksplisitt erklærer en tilgangsmodifikator for klasse, felt, metode osv.
En variabel eller metode deklarert uten tilgangskontrollmodifikator er tilgjengelig for alle annen klasse i samme pakke. Feltene i et grensesnitt er implisitt offentlig statisk endelig og metodene i et grensesnitt er som standard offentlige.
Offentlig -En klasse, metode, konstruktør, grensesnitt osv. Erklært offentlig kan nås fra hvilken som helst annen klasse . Derfor kan du få tilgang til felt, metoder, blokker i en offentlig klasse fra hvilken som helst klasse som hører til Java-universet.
Hvis den offentlige klassen vi prøver å få tilgang til, er imidlertid i en annen pakke, offentlig klasse må fortsatt importeres. På grunn av klassearv arves alle offentlige metoder og variabler i en klasse av dens underklasser.
Eksempel
Offentlig statisk ugyldig hoved (streng [] args)
{
// ……………………………………
}
Hovedmetoden () til et program må være offentlig. Ellers kunne det ikke kalles av en Java-tolk (for eksempel java) for å kjøre klassen.
Svar
En Java-fil kan ha noen klassedefinisjoner. når vi kompilerer java-filen, genererer kompilatoren uavhengige .class-filer for hver klassedefinisjon.
Hvis java-filen din har en eneste hovedklasse, er det ikke nødvendig å definere den som offentlig.
Hvis Java-filen din har flere klasser, kan du ikke gjøre hver klasse offentlig, fordi bare en offentlig klasse er tillatt i en hvilken som helst Java-fil. her må navnet på den offentlige klassen og navnet på Java-filen være det samme.
//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
I eksemplet ovenfor har jeg ikke erklært hovedklassen som offentlig, men fortsatt fungerer den fordi jeg ga hovedklassenavnet som filnavnet.
//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
Nå ser det, denne gangen gir det meg en feil. så det er god praksis å definere hovedklassen din som offentlig hvis du har flere klasser i en java-fil. Som vi vet at programgjennomføring starter fra hovedmetoden.
Håper du fikk svaret