I Java, vad är skillnaden mellan allmän klass och klass?


Bästa svaret

Om en klass inte har någon åtkomstmodifierare kommer den att behandlas under standardåtkomstmodifieraren.

Standardåtkomstmodifierare betyder att vi inte uttryckligen deklarerar en åtkomstmodifierare för en klass, ett fält, en metod etc.

En variabel eller metod som deklareras utan någon åtkomstkontrollmodifierare är tillgänglig för alla annan klass i samma paket. Fälten i ett gränssnitt är implicit offentliga statiska slutliga och metoderna i ett gränssnitt är som standard offentliga.

Public -A-klass, metod, konstruktör, gränssnitt etc. deklarerad allmänhet kan nås från vilken annan klass som helst . Därför kan fält, metoder, block som deklarerats i en offentlig klass nås från vilken klass som helst som tillhör Java Universe.

Om den offentliga klassen vi försöker komma åt finns dock i ett annat paket, public class behöver fortfarande importeras. På grund av klassarv ärver alla offentliga metoder och variabler i en klass av dess underklasser.

Exempel

Offentligt statiskt ogiltigt huvud (sträng [] args)

{

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

}

Huvudmetoden () för en applikation måste vara offentlig. Annars kunde det inte kallas av en Java-tolk (som java) för att köra klassen.

Svar

En Java-fil kan ha någon klassdefinition. när vi kompilerar java-filen genererar kompilatorn oberoende .class-filer för varje klassdefinition.

Om din java-fil har en enda huvudklass behöver du inte definiera den som offentlig.

Om din Java-fil har flera klasser kan du inte göra varje klass offentlig eftersom endast en offentlig klass är tillåten i någon Java-fil. här måste namnet på den offentliga klassen och namnet på Java-filen vara desamma.

//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 exemplet ovan har jag inte förklarat huvudklassen som allmän, fortfarande fungerar den eftersom jag gav huvudklassnamnet som filnamn.

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

Ser du, den här gången ger det mig ett fel. så, Det är bra praxis att definiera din huvudklass som offentlig om du har flera klasser i en java-fil. Som vi vet startar programkörningen från huvudmetoden.

Hoppas att du har svaret

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *