Eddr 0 Denunciar post Postado Novembro 28, 2003 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 Compartilhar este post Link para o post Compartilhar em outros sites
Volpisp 0 Denunciar post Postado Novembro 28, 2003 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 ClassePaiEspero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
Eddr 0 Denunciar post Postado Novembro 28, 2003 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 Compartilhar este post Link para o post Compartilhar em outros sites
.:JavaDude:. 0 Denunciar post Postado Novembro 29, 2003 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... Compartilhar este post Link para o post Compartilhar em outros sites