Paras vastaus
Jos luokassa ei ole pääsynmuuttajaa, sitä käsitellään oletusarvoisella käyttömuokkaimella.
Oletusoikeuksien muokkaaja tarkoittaa, että emme nimenomaisesti julista pääsyn muokkausta luokalle, kentälle, menetelmälle jne.
Muuttuja tai menetelmä, joka on ilmoitettu ilman pääsynhallinnan muokkaajaa, on kaikkien käytettävissä toinen luokka samassa paketissa. Rajapinnan kentät ovat implisiittisesti julkisia staattisia lopullisia ja käyttöliittymän menetelmät ovat oletusarvoisesti julkisia.
Julkinen – julkiseksi ilmoitettu luokka, menetelmä, konstruktori, käyttöliittymä jne. Voidaan käyttää mistä tahansa muusta luokasta . Siksi julkisen luokan sisällä ilmoitettuihin kenttiin, menetelmiin ja lohkoihin pääsee mistä tahansa Java-universumiin kuuluvasta luokasta.
Jos kuitenkin yritämme käyttää julkista luokkaa eri paketissa, julkinen luokka on vielä tuotava. Luokan perimisen takia kaikki luokan julkiset menetelmät ja muuttujat perivät sen alaluokat.
Esimerkki
Julkinen staattinen void main (string [] args)
{
// …………………………………
}
Sovelluksen päämenetelmän () on oltava julkinen. Muuten Java-tulkki (kuten java) ei voinut kutsua sitä luokan ajamiseksi.
Vastaus
Java-tiedostossa ei voi olla mitään luokan määritelmiä. kun käännämme java-tiedoston, kääntäjä luo itsenäiset .class-tiedostot kullekin luokan määritelmälle.
Jos Java-tiedostollasi on ainoa pääluokka, sitä ei tarvitse määritellä julkiseksi.
Jos Java-tiedostossasi on useita luokkia, et voi tehdä kaikista luokista julkisia, koska vain yksi julkinen luokka on sallittu missä tahansa Java-tiedostossa. tässä julkisen luokan ja Java-tiedoston nimen on oltava samat.
//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
Yllä olevassa esimerkissä en ole ilmoittanut pääluokkaa julkiseksi, se toimii edelleen, koska annoin pääluokan nimen tiedostonimeksi.
//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
Katsokaa nyt, tällä kertaa se antaa minulle virheen. Joten on hyvä käytäntö määritellä pääluokkasi julkiseksi, jos sinulla on useita luokkia yhdessä java-tiedostossa. Kuten tiedämme, ohjelman suorittaminen alkaa päämenetelmästä.
Toivottavasti sait vastauksen