Em Java, qual é a diferença entre classe pública e classe?


Melhor resposta

Se uma classe não tiver nenhum modificador de acesso, ela será tratada sob o modificador de acesso padrão.

O modificador de acesso padrão significa que não declaramos explicitamente um modificador de acesso para uma classe, campo, método, etc.

Uma variável ou método declarado sem qualquer modificador de controle de acesso está disponível para qualquer outra classe no mesmo pacote. Os campos em uma interface são implicitamente public static final e os métodos em uma interface são public por padrão.

Public -Uma classe, método, construtor, interface, etc. declarado public pode ser acessado de qualquer outra classe . Portanto, campos, métodos, blocos declarados dentro de uma classe pública podem ser acessados ​​de qualquer classe pertencente ao Universo Java.

No entanto, se a classe pública que estamos tentando acessar estiver em um pacote diferente, então o a classe pública ainda precisa ser importada. Por causa da herança de classe, todos os métodos públicos e variáveis ​​de uma classe são herdados por suas subclasses.

Exemplo

Public static void main (string [] args)

{

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

}

O método main () de um aplicativo deve ser público. Caso contrário, ele não poderia ser chamado por um interpretador Java (como java) para executar a classe.

Resposta

Um arquivo Java pode ter qualquer nenhuma definição de classe. quando compilamos o arquivo java, o compilador gera arquivos .class independentes para cada definição de classe.

Se o seu arquivo java tiver uma única classe principal, não há necessidade de defini-lo como público.

Se o seu arquivo Java tiver várias classes, você não pode tornar todas as classes públicas porque apenas uma classe pública é permitida em qualquer arquivo Java. aqui, o nome da classe pública e o nome do arquivo Java devem ser iguais.

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

No exemplo acima, eu não declarei a classe principal como pública e ainda está funcionando porque dei o nome da classe principal como o nome do arquivo.

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

Agora veja, desta vez ele está me dando um erro. portanto, é uma boa prática definir sua classe principal como pública se você tiver várias classes em um arquivo java. Como sabemos, a execução do programa começa no método principal.

Espero que você tenha a resposta

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *