Wat is in Java het verschil tussen openbare klasse en klasse?


Beste antwoord

Als een klasse geen toegangsmodificator heeft, wordt deze behandeld onder de standaardtoegangsmodificator.

Standaard toegangsmodificator betekent dat we niet expliciet een toegangsmodificator declareren voor een klasse, veld, methode, enz.

Een variabele of methode die wordt gedeclareerd zonder enige modificator voor toegangscontrole is beschikbaar voor iedereen andere klasse in hetzelfde pakket. De velden in een interface zijn impliciet openbaar statisch definitief en de methoden in een interface zijn standaard openbaar.

Openbaar -Een klasse, methode, constructor, interface, enz. Openbaar verklaard kan worden benaderd vanuit elke andere klasse . Daarom kunnen velden, methoden en blokken die binnen een openbare klasse zijn gedeclareerd, worden benaderd vanuit elke klasse die tot het Java Universe behoort.

Als de openbare klasse die we proberen te openen zich echter in een ander pakket bevindt, is de public class moet nog worden geïmporteerd. Vanwege klasse-overerving worden alle openbare methoden en variabelen van een klasse overgeërfd door zijn subklassen.

Voorbeeld

Public static void main (string [] args)

{

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

}

De main () methode van een applicatie moet openbaar zijn. Anders zou het niet kunnen worden aangeroepen door een Java-interpreter (zoals java) om de klas uit te voeren.

Antwoord

Een Java-bestand kan geen enkele klassedefinitie hebben. wanneer we het java-bestand compileren, genereert de compiler onafhankelijke .class-bestanden voor elke klassedefinitie.

Als uw java-bestand een enige hoofdklasse heeft, is het niet nodig om het als openbaar te definiëren.

Als uw Java-bestand meerdere klassen heeft, kunt u niet elke klasse als openbaar maken, omdat slechts één openbare klasse is toegestaan ​​in een Java-bestand. hier moeten de naam van de openbare klasse en de naam van het Java-bestand hetzelfde zijn.

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

In het bovenstaande voorbeeld heb ik “de hoofdklasse niet als openbaar verklaard, maar het werkt nog steeds omdat ik de naam van de hoofdklasse als bestandsnaam heb opgegeven.

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

Kijk nu, deze keer geeft het me een foutmelding. Het is dus een goede gewoonte om uw hoofdklasse als openbaar te definiëren als u meerdere klassen in één Java-bestand heeft. Zoals we weten, begint de uitvoering van het programma vanaf de hoofdmethode.

Ik hoop dat je het antwoord hebt

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *