Programa de contas

Estava lendo a apostila caelum , e ela começa mostrar exemplos de como montar uma “conta” de banco

ela manda os codigos

class Conta { int numero; String dono; double saldo; double limite; // .. }

class Programa { public static void main(String[] args) { new Conta(); } }

class Programa { public static void main(String[] args) { Conta minhaConta; minhaConta = new Conta(); } }

[code]class Programa {
public static void main(String[] args) {
Conta minhaConta;
minhaConta = new Conta();

minhaConta.dono = “Duke”;
minhaConta.saldo = 1000.0;

System.out.println("Saldo atual: " + minhaConta.saldo);
}
}[/code]

O que eu não entendi é se tem que compilar tudo em um arquivo.java e se na parte que cria o objeto new Conta();
logo em seguida ele manda um outro código pra acessar o objeto,então o new Conta(); deve ser substituido por Conta minhaConta;
minhaConta = new Conta();
?

Cara, eu viajei um pouco na sua dúvida, mas acho que eu consegui sacar.

Uma das regras do Java é ter uma classe (public / default) por arquivo .java, quando você cria a classe Conta com todos seus membros, você salva ela em um arquivo .java, lembre-se de colocar o nome do arquivo igual ao nome da classe.

Quando você for criar outra classe para executar o seu programa, no seu caso, você criou a classe Programa, ele irá compilar tudo, sendo que você compile a classe principal, a que tem o main.

Quanto as chamadas à objetos que você fez dentro do main, é o seguinte:

Quando a variável Conta conta é criada, você cria uma variável de referência que vai receber um objeto de Conta. Quando você faz conta = new Conta(), você cria o objeto e atribui ele à variável de referência conta.

Na hora que o java for compilar o seu programa, ele vendo as chamadas aos objetos / classes dentro do seu arquivo principal, ele procura e compila todos os outros arquivos .java necessários.

Sacou?

[quote=Ravnus]Cara, eu viajei um pouco na sua dúvida, mas acho que eu consegui sacar.

Uma das regras do Java é ter uma classe (public / default) por arquivo .java, quando você cria a classe Conta com todos seus membros, você salva ela em um arquivo .java, lembre-se de colocar o nome do arquivo igual ao nome da classe.

Quando você for criar outra classe para executar o seu programa, no seu caso, você criou a classe Programa, ele irá compilar tudo, sendo que você compile a classe principal, a que tem o main.

Quanto as chamadas à objetos que você fez dentro do main, é o seguinte:

Quando a variável Conta conta é criada, você cria uma variável de referência que vai receber um objeto de Conta. Quando você faz conta = new Conta(), você cria o objeto e atribui ele à variável de referência conta.

Na hora que o java for compilar o seu programa, ele vendo as chamadas aos objetos / classes dentro do seu arquivo principal, ele procura e compila todos os outros arquivos .java necessários.

Sacou?[/quote]

então eu tenho que fazer o Conta.java e o Programa.java ?
a “ligação” entre os arquivos então seria com a chamada de objetos do conta = new Conta(); ?

[quote=D4shxD][quote=Ravnus]Cara, eu viajei um pouco na sua dúvida, mas acho que eu consegui sacar.

Uma das regras do Java é ter uma classe (public / default) por arquivo .java, quando você cria a classe Conta com todos seus membros, você salva ela em um arquivo .java, lembre-se de colocar o nome do arquivo igual ao nome da classe.

Quando você for criar outra classe para executar o seu programa, no seu caso, você criou a classe Programa, ele irá compilar tudo, sendo que você compile a classe principal, a que tem o main.

Quanto as chamadas à objetos que você fez dentro do main, é o seguinte:

Quando a variável Conta conta é criada, você cria uma variável de referência que vai receber um objeto de Conta. Quando você faz conta = new Conta(), você cria o objeto e atribui ele à variável de referência conta.

Na hora que o java for compilar o seu programa, ele vendo as chamadas aos objetos / classes dentro do seu arquivo principal, ele procura e compila todos os outros arquivos .java necessários.

Sacou?[/quote]

então eu tenho que fazer o Conta.java e o Programa.java ?
a “ligação” entre os arquivos então seria com a chamada de objetos do conta = new Conta(); ?[/quote]

Perfeito… você entendeu bem… na verdade essa é uma boa prática… Granularize sua aplicação, especialize seus Objetos, quando mais especializado for um Objeto, ou seja, quanto menos responsabilidades ele possuir, melhor…

Abs []

[quote=adriano_si][quote=D4shxD][quote=Ravnus]Cara, eu viajei um pouco na sua dúvida, mas acho que eu consegui sacar.

Uma das regras do Java é ter uma classe (public / default) por arquivo .java, quando você cria a classe Conta com todos seus membros, você salva ela em um arquivo .java, lembre-se de colocar o nome do arquivo igual ao nome da classe.

Quando você for criar outra classe para executar o seu programa, no seu caso, você criou a classe Programa, ele irá compilar tudo, sendo que você compile a classe principal, a que tem o main.

Quanto as chamadas à objetos que você fez dentro do main, é o seguinte:

Quando a variável Conta conta é criada, você cria uma variável de referência que vai receber um objeto de Conta. Quando você faz conta = new Conta(), você cria o objeto e atribui ele à variável de referência conta.

Na hora que o java for compilar o seu programa, ele vendo as chamadas aos objetos / classes dentro do seu arquivo principal, ele procura e compila todos os outros arquivos .java necessários.

Sacou?[/quote]

então eu tenho que fazer o Conta.java e o Programa.java ?
a “ligação” entre os arquivos então seria com a chamada de objetos do conta = new Conta(); ?[/quote]

Perfeito… você entendeu bem… na verdade essa é uma boa prática… Granularize sua aplicação, especialize seus Objetos, quando mais especializado for um Objeto, ou seja, quanto menos responsabilidades ele possuir, melhor…

Abs [][/quote]

cara eu fiz o seguinte meu Conta.java ficou assim

class Conta { int numero; String dono; double saldo; double limite; // .. }

e o Programa.java

[code]class Programa {
public static void main(String[] args) {

Conta minhaConta;
minhaConta = new Conta();

minhaConta.dono = “Duke”;
minhaConta.saldo = 1000.0;

System.out.println("Saldo atual: " + minhaConta.saldo);
}
}[/code]

o Conta compilou certinho agora o Programa acusou o seguinte erro :

C:\Users\Gustavinho\Desktop\Apostilas>javac Programa.java
Programa.java:4: cannot find symbol
symbol : class Conta
location: class Programa
Conta minhaConta;
^
Programa.java:5: cannot find symbol
symbol : class Conta
location: class Programa
minhaConta = new Conta();
^
2 errors

Desculpa ai galera ficar enxendo o saco com essas dúvidas de newbie , mas é que eu quero muuito aprender java…
abraço !

Cara agora eu fiz o seguinte e funcionou

Fiz tudo no Programa.java o seguinte código

[code]class Programa {
public static void main(String[] args) {

class Conta {
int numero;
String dono;
double saldo;
double limite;
// …
}

Conta minhaConta;
minhaConta = new Conta();

minhaConta.dono = “Duke”;
minhaConta.saldo = 1000.0;

System.out.println("Saldo atual: " + minhaConta.saldo);
}
}[/code]

não sabia que podiam 2 class em um programa

[quote=D4shxD]
não sabia que podiam 2 class em um programa [/quote]

em um PROGRAMA cabe tanta classe que voce nao faz ideia :smiley:

pelo que eu vi no teu desenvolvimento, da pra começar trabalhar com encapsulamento agora, da uma olhada na apostila que voce tem aí e bons estudos :wink: