Algumas dúvidas...iniciante  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

olá gente...meu primeiro post aqui!
mas é isso ae..tudo tem um começo, eu estou reaprendendo java...esqueci bastante coisa até e quero tirar minha certificação da prova Cx-310-055
gostaria de fazer algumas perguntas:
o que é subclasse e superclasse?
o que é uma interface?
o que é um enum?
como funciona um varargs?
como funciona o conceito de estático?
o que é overloading?
por que usamos this. alguma coisa?
o que é overridden?

agradeço desde já...estou lendo o livro do roberto rubinstein..sobre a certificação java...mas to encontrando uma certa dificuldade para entender tudo...
se puderem me ajudar...farei esse caminho com vocês...
um abraço a todos e obrigado...

bruno

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
btafarelo
JavaChild

Membro desde: 09/06/2006 18:37:18
Mensagens: 135
Localização: São Paulo
Offline

Acho que vc esqueceu coisa de mais eim...

Vamos lar.

SuperClasse e Subclasse:

Superclasse, quando alguma classe é criada com a palavra extends ...,
o classe em extends é a superclasse desta recem criada.

Superclasse quer dizer que ela é superior na hierarquia de classes em alguma ocasião.

Ex:

class Carro {}

class Uno extends Carro {}

Carro é a superclasse de Fiat pois se encontra numa posção superior a Fiat na hierarquia, e Fiat é uma subclasse de Carro esta abaixo, herda o comportamento da Classe Carro.

Interfaces e overriden:

Em algumas linguagens de programação é permitindo herança multipla. Quero dizer que se java permitisse a classe Fiat do exemplo anterior poderia fazer mais de um extends ex:

class Uno extends Carro, Fiat {}

Mas isso infelizmente não é possível, então existem as interfaces que são um tipo especial de classes, as diferenças é que elas naum podem possuir atributos/variaveis de instância e seus métodos naum podem ser implementados ex:

public interface Fiat {

public int getCavalos();
}


já para a sub classe de Fiat, Uno, poder ser um Fiat, a sintaxe é essa.

class Uno extends Carro implements Fiat {

private int cavalos;

public int getCavalos() {
return cavalos;
}

E com interfaces você pode colocar várias. Naum sei o número possível de implements se existe um limite, mas gostei vou verificar. rs

Já overriden é quando vc sobrescreve um método que existe em sua superclasse. válido para o exemplo acima.

Enum:

Isso é um outro tipo de classe, só que essa naum possui métodos e nem instância, somente atributos ex:

public enum Veiculo {
Uno, Palio;
}

Seus atributos são constantes e recebem um valor automático iniciado do 0. Elas existem para vc naum precisar mais criar uma interface ou classe com constantes para serem utilizadas em seu software.

Varargs:

Isso é legal, chama-se argumentos variaveis e quando um método declarava um de seus parametros como Array para receber um número variavel de argumentos o usuário do método tinha que criar um array, agora basta vc passar um parametro após o outro e ponto. ex:

class Uno extends Carro implements Fiat {

private Vector<String> pessoas = new Pessoas<String>();

public void setPessoas(String... nomes) {
for(String nome : nomes)
pessoas.add(nome);
}

public static void main(String[] args) {
Uno uno = new Uno();

uno.setPessoas("Bruno", "Carol");
}
}

estático e this:

Quer dizer que todos os Objetos instâncias de uma mesma classe vão utilizar a mesma referência de um atributo estatico ex:

class Uno extends Carro implements Fiat {
private static String nome;

public void setNome(String nome) {
this.nome = nome;
}

public void getNome() {
return this.nome;
}

public static void main(String args[]) {
Uno uno1 = new Uno();
Uno uno2 = new Uno();

uno2.setNome("teste de estatico e this");

System.out.println(uno1.getNome());
System.out.println(uno2.getNome());
}
}

Já o this esta dizendo para o compilador utilizar o a referÊncia de sua classe e naum de seu método ou de sua superclasse caso vc tenha dois métodos com o mesmo nome.


Ufa, espero ter ajudado.

t+

---
Abs,

Bruno Tafarelo
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

Porra cara...obrigadão...gostei pacas da explicação...
você teria um MSN para a gente conversar melhor...e sabe como é...trocarmos figurinhas e tals?

um abração obrigado...e puxa...os varargs ficaram meio confuso...ahahahaha não sou de ferro...alias..sou sim...e estou enferrujadão..AhAHAHAhA
abração

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
Java Vinicius Machine
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline

akumaldo wrote:Porra cara...obrigadão...gostei pacas da explicação...
você teria um MSN para a gente conversar melhor...e sabe como é...trocarmos figurinhas e tals?

um abração obrigado...e puxa...os varargs ficaram meio confuso...ahahahaha não sou de ferro...alias..sou sim...e estou enferrujadão..AhAHAHAhA
abração

Bom melhor remédio para a ferrugem (pelo menos no seu caso) é leitura e muuuita programação. Mãos a obra. Que tal começar pelo Deitel?!
{}´s

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)


Sun Certified Programmer for the Java Platform 1.4
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

Java Vinicius Machine wrote:
Bom melhor remédio para a ferrugem (pelo menos no seu caso) é leitura e muuuita programação. Mãos a obra. Que tal começar pelo Deitel?!
{}´s


Qual o nome do livro??não conheço deitel..acho que já ouvi falar saca? mas como eu to newbão sabe...acho que tenho me dedicar pacas até entrar na minha cabeça linguagem java...
é que eu sempre fui mas ligado a lingagem procedural(C e tals...) ai eu sempre tive uma certa dificuldadezinha com java...zuado né?

abraço

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
Java Vinicius Machine
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline

Esse aqui:

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)


Sun Certified Programmer for the Java Platform 1.4
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team