Ero criar ao array

9 respostas
N

Boa tarde…
estou tentando criar um array dessa forma:

public class GravaDados

{

private String arquivo1 = sucesso;
int extensao[] = new int[2];
extensao[0] = 4;
extensao[1] = 5;

}

mas meu código não compila…
seu eu colocar este mesmo código entro de um método ele compila…

alguém sabe o por que desse comportamento?

obrigado…

9 Respostas

marcelo.bellissimo

nykel:
Boa tarde…
estou tentando criar um array dessa forma:

public class GravaDados

{

private String arquivo1 = sucesso;
int extensao[] = new int[2];
extensao[0] = 4;
extensao[1] = 5;

}

mas meu código não compila…
seu eu colocar este mesmo código entro de um método ele compila…

alguém sabe o por que desse comportamento?

obrigado…

Porque você está fazendo errado… o correto é

Classe, Atributos, Métodos

Não é permitido colocar código fora de métodos, apenas declaração de variáveis, e no máximo inicilizá-las na declaração, tipo:

String teste; // sem inicializar String teste = "teste"; // inicializando

Essas duas linhas estão sendo tratadas como código por não obedecer a sintaxe de declaração de variáveis (colocando o tipo da mesma no inicio):

extensao[0] = 4; extensao[1] = 5;

Sacou?

N

saquei…
valeu mesmo…
nunca vou esquecer disso, rs…
pelo que eu entendi eu estava tentando programar sem ser orientado a objetos

muito obrigado

vou tomar como lição isso…

pra pensar mais orientado a objetos

marcelo.bellissimo

nykel:
saquei…
valeu mesmo…
nunca vou esquecer disso, rs…
pelo que eu entendi eu estava tentando programar sem ser orientado a objetos

muito obrigado

vou tomar como lição isso…

pra pensar mais orientado a objetos

Normal, acontece quando migramos de uma linguagem pra outra e levamos alguns vícios… aliás, você está programando por onde? Se não estiver usando uma IDE tipo o Eclipse pra programar, já é um ótimo ponto de partida começar á usar uma… problemas como esse são raros de ocorrer quando usamos uma boa IDE, e nesse caso você seria alertado na hora, seu código estaria todo marcado de vermelho, rs!

douglaskd

bom se quiser fazer o que esta tentando…rs

pode usar um construtor

public class GravaDados { String arquivo1 = "sucesso"; int[] extensao = new int[2]; GravaDados(){ extensao[0] = 4; extensao[1] = 5; } }

ai ele vai ser chamado na criação da classe quando você fizer

GravaDados grav = new GravaDados();

mais é muito mais simples fazer:

public class GravaDados { String arquivo1 = "sucesso"; int[] extensao = {4,5}; // declara e inicializa }

N

legal entendi o ponto…
na verdade eu tenho um certo conhecimento teórico e até mesmo prático…
porém, onde eu trabalho e prograno em visual foxpro e java, e ultimamente
para fins de estudo deixei o eclipse, que gosto bastante para programar com texpad, mas é só pra estudo mesmo…
talvez no eclipse eu resolveria esse problema sem nem mesmo pensar sobre…

muito obrigado pela atenção…

exemplos bem exclarecedores

adriano_si

nykel:
saquei…
valeu mesmo…
nunca vou esquecer disso, rs…
pelo que eu entendi eu estava tentando programar sem ser orientado a objetos

muito obrigado

vou tomar como lição isso…

pra pensar mais orientado a objetos

Fala cara, o fato de colocar as inicializações dentro de um método comum ou método construtor, não quer dizer que você está programando Orientado a Objetos, quer dizer somente que você está respeitando as regras da sintaxe Java para execução de linhas de códigos…

POO vai muito além de obedecer a sintaxe da Linguagem, POO tá mais relacionado com Estrutura, Arquitetura e é independente de Linguagem de Programação…

Abs e bos estudos :slight_smile:

N

corrijam me se estiver errado…
um objeto pode ter atributos e métodos…

e fazer operações, ou seja ações do objeto, fora de um método não seria uma caracteristica de linguagens mais procedurais?

tenho um pouco de conhecimento sobre OOP, mas programar orientado a objetos para mim realmente é mais profundo que ter conhecimentos sobre OOP.

obrigado…

adriano_si

nykel:
corrijam me se estiver errado…
um objeto pode ter atributos e métodos…

e fazer operações, ou seja ações do objeto, fora de um método não seria uma caracteristica de linguagens mais procedurais?

tenho um pouco de conhecimento sobre OOP, mas programar orientado a objetos para mim realmente é mais profundo que ter conhecimentos sobre OOP.

obrigado…

Perfeito, o alerta é somente pra não confudir OO como se fosse algo tão simples assim… Pois mesmo colocando tudo em métodos e Classes ainda assim podemos programar de forma Procedural…

Posso criar uma classe Main.java e fazer meu Sistema rodar todinho dentro dela… Isso não é Orientação a Objetos, mesmo que minhas instruções estejam dentro de uma classe cada uma em seu método específico…

Abs []

N

valeu mesmo
muito obrigado pelos esclarecimentos…
sucesso a todos…

Criado 22 de novembro de 2010
Ultima resposta 22 de nov. de 2010
Respostas 9
Participantes 4