Jump to content

Archived

This topic is now archived and is closed to further replies.

Eddr

Um Pouco Sobre Classes

Recommended Posts

Recentemente tive um problema que postei em vários fóruns e ninguém conseguiu uma boa resposta, sei que é uma dúvida de iniciante, mas me espanto por ninguém poder ajudar, sendo que é essencial para poder programar em JAVA.

 

Posso estar errado, mas depois de muitos testes e ler bastante cheguei a seguinte conclusão:

 

Classes estáticas são classes que se pode acessar seu métodos e propriedas sem ter de instancia-las, por exemplo String varX = ClasseEstatica.TransformaInfo(varY);

O problema era o seguinte, sempre que eu tentava acessar uma variável de classe recebia a mensagem de erro dizendo que a classe deveria ser abstrata. Isso acontece pq é necessário instanciar a classe para acessar suas propriedades e métodos ou cria-los como estáticos.

 

Ex.:

 

public class MinhaClasse{     public String texto = "Hey";     public static void main(String args[]){          EscreveInfo(); //para ser sem instanciar                                    acessado o método deve ser estático          //System.out.println(texto); não irá funcionar pq texto           //não é estático          MinhaClasse classe = new MinhaClasse();          System.out.println(class.texto); //agora sim,                                      //texto é uma propriedade                                      //de um objeto,                                       //por ser public pode ser acessado     }     public static void EscreveInfo(){          System.out.println("Hey");     }}

espero ter ajudado alguém

 

falow

Share this post


Link to post
Share on other sites

Bom deixa eu ver se eu ajudo,

 

Para você acessar uma variavel de classe você esteja em outra, você precisa estanciar a classe que contem essa variavel... com o comando extends

 

Tipo assim..

 

public class MinhaClasse extends ClassePai

Espero ter ajudado

Share this post


Link to post
Share on other sites

extends serve para herdar propriedades e métodos de outra classe, tornando essa uma classe filha para compor a hirarquia de classes. Que eu me lembre java não aceita hierarquia múltipla.

 

ex.:

 

public class Pai{     public void Write(){          System.out.println('hey');     }     public Pai(){               }}public class Filho extends Pai{     public Filho(){          Super(); //acesso aos metodos e propriedades da classe pai     }}public class Main(){     public static void main(String args[]){          Filho filho = new Filho();          filho.Write();     }}

um pouco sobre hierarquia... falow

Share this post


Link to post
Share on other sites

pra isso existe a interface...

class Foo{ int x; public int getX (){  return x; } public void setX(int x){  this.x = x; }}interface Imprimivel{ public void imprimir();}class ClasseFilha extends Foo implements imprimivel{ public void imprimir(){  //implementação }}

com herança múltipla existe o risco de haver dois métodos com implementações diferentes... mas com assinaturas iguais, impedindo q haja sobrecarga de método. Como não existe implementação na interface, não há risco de existir duas implementações numa mesma classe...

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.