Algumas dúvidas...iniciante

5 respostas
akumaldo

olá gente…meu primeiro post aqui! :slight_smile:
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

5 Respostas

B

Acho que vc esqueceu coisa de mais eim… :wink:

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+

akumaldo

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

Java_Vinicius_Machin

akumaldo:
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 :smiley:

akumaldo

Java Vinicius Machine:

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 :smiley:

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

Java_Vinicius_Machin

Esse aqui: :smiley:

Criado 9 de junho de 2006
Ultima resposta 14 de jun. de 2006
Respostas 5
Participantes 3