eu instalei o j2sdk na minha makina windows 2000 server…e eu configurei o path do sistema corretamente axo,pois eu digito o javac -help ele funciona…mas nao estou conseguindo compilar os programas eu usei o hello word do proprio forum ( 3 versoes diferentes ) e o erro é o mesmo so muda a linha…o erro e o seguinte…
helloword.java:10 class HelloWord is public. shoud be declared in a file name public class HelloWord {
1 error…
e tb tem o seguinte eu estou usando o bloco de notas pra fazer o codigo e eu salvo dakele jeito q ta dizendo ai no forum com aspas nao adianta nada ai eu renomeio ele pelo DOS de txt pra .java…mas acredito q o erro nao seja este o codigo e o seguinte…
//sempre q tiver // no código indica que é um comentário…
/**
-
também são comentários este tipo de trecho,
-
geralmente usado para documentar a classe.
-
bom aqui eu estou criando um objeto HelloWorld q é publico
-
, ou seja, qualquer objeto poderá usa-lo.
*/
public class HelloWorld {/**
- bom aqui eu defino um field, em outras linguagens
- é comumente chamado de variável
- este objeto é de propriedade do objeto HelloWorld e é privado,
- sendo assim ninguem poderá acessa-lo, só o próprio HelloWorld.
*/
private String msg = null;
/**
-
Método getMessage, que aqui é usado para retornar a mensagem
-
que está gravada dentro do field privado msg. ele retorna de
-
forma segura o valor da mensagem, verificando se este ainda
-
está nulo, se estiver, muda seu valor para “Hello World!”
-
e então o retorna
-
@return retorna a message do HelloWorld */ public String getMessage() { //Nome que este if não tem {} isso ocorre pq ele só tem um //argumento dentro, não precisando assim abrir e fechar as //chaves. //nestes casos, muitas vezes se escreve assim: //if (msg == null) setMessage(); //em 1 linha só. //este método verifica se o valor da msg ainda está nulo, //sendo isso verdade ele chama o método setMessage() para //dar valor a msg, isto é feito por segurança, para não //passar um valor nulo. if (msg == null) setMessage();
//aqui ele irá retornar o valor contigo em msg que pertence //a este objeto. o operador this, indica que está se tratando //de um field q é do objeto e não do método, veremos isso //no método setMessage(String msg) return this.msg; }
/**
- Seta a mensagem passada através de msg, como sendo a messagem
- deste objeto. No caso de msg estar nulo, xamará o método
- setMessage().
-
@param msg mensagem a ser gravada pelo objeto.
*/
public void setMessage(String msg) {
//note aqui que o teste if msg == null é feito para a o
//field do método setMessage(String msg) e não para aquele
//do objeto, definido lá em cima com:
//private String msg = null;
//quando há 2 nomes de fields iguais, ele irá usar o field
//do método, para chamar o field do objeto vc terá que usar
//o operador this.
//Então aqui eu testo se msg é null é se for, eu uso o método
//setMessage() ou seja, se o cara passar msg = null, é o mesmo
//de ter chamado o método setMessage(), sendo assim, esse dois
//métodos seguintes tem o mesmo efeito:
//setMessage(), setMessage(null)
if (msg == null) {
setMessage();
//no caso de msg não estar nulo, o objeto irá guardalo em
//seu field privado, usando para isto o operador this.msg
//para falar a classe q se trata do field exteno, sendo igual
//ao field passado neste método.
} else {
this.msg = msg;
}
}
/**
- método que seta o valor da msg como Hello World, pos
- nenhum argumento foi passado para escolher que mensagem
- passar
*/
public void setMessage(){
//define msg do objeto
this.msg = “Hello World!”;
}
/**
- cria um objeto hello world com a mensagem padrão definida
- em setMessage().
*/
public HelloWorld() {
setMessage();
}
/**
- cria um objeto hello world com a mensagem passada através
- de msg
-
@param msg mensagem a ser gravada no objeto.
*/
public HelloWorld(String msg) {
setMessage(msg);
}
/*
- Estes 2 últimos comandos são construtores da classe, ou
- seja, as manerais de criar um objeto HelloWorld, no outro
- objeto Main, nós usaremos 2 objeto HelloWorld, para
- exemplificar
o q estou fazendo de errado alguem pode me ajudar???