Class ou Public Class

Bom dia a todos,

Peguei um exemplo na net de uma serie de comandos que faz com que uma pequena janela, com uma frase x, apareça no computador, assim que executado.
No entanto, ao inves de comecar o arquivo como “class”, o autor colocou “public class”… Eu tentei usar como class apenas para ver no que dava (mas nao dava)… o arquivo nao compilava.

Entao qual a diferença entre class e public class??
Qdo devo usar um ou usar o outro?

Valeu

Quando você usa class a sua classe é visivel apenas para as classes que estão dentro do mesmo pacote. Quando você usa public class a sua classe é visível por todos. Por exemplo

package A;

public class MyClassA {

}

//outro arquivo

package B;

import A.*;

class MyClassB {
   MyClassA a = null;
}

se você colocar as classes acima nos pacotes certos, e modifica onde tem public class para class o código em MyClassB não será compilado

1 curtida

Olá Syd,

o que diferencia começar a classe com class ou public class é:

:arrow: class


package com.portaljava.pacoteX;

class Artigos {

   // Implementação da classe...

}

:arrow: public class


package com.portaljava.pacoteY;

public class VerArtigos {

   // Essa classe não encherga a classe Artigos, se você tentar o código abaixo, dará erro

  Artigos artigos = new Artigos(); //não compila

}
1 curtida

Ok… consegui entender…

Agora preciso “exercitar” alguns exemplos para facilitar a memorizacao…

Valeu, obrigado

tb tem um lance de que o arquivo .java tem que ter pelo menos uma e somente uma public class, não é isso?

então quando falta a public class dá erro, não é isso?

Pode ter uma ou nenhuma.
Se tiver, tem que ter o mesmo nome do arquivo.

e o void???
pra que serve???

VOID:
é o valor de retorno da função, quando a função não retorna nenhum valor ela retorna void, uma espécie de valor vazio que tem que ser especificado.

resumindo, quando não tem retorno usamos Void?

certo?

É.

É tipo você cria uma função que saca um valor de uma determinada conta mas não quer que nenhum valor seja retornado para quem saca. O codigo ficaria dessa forma:

void saca(double x){
    double novoSaldo = this.saldo - x;
    this.saldo = novoSaldo;
}

Nenhum valor será retornado.

Agora se quer retornar uma String por exemplo, ficaria assim:

String saca(double x){
    double novoSaldo = this.saldo - x;
    this.saldo = novoSaldo;
    return "Você sacou " + x + " agora seu saldo é de " + this.saldo
}