bom respondendo algumas pela numeração… eu nao lembro perfeitamente de Composicao… e nao entendi sua pergunta de numero 2…
mais vamos la resposta
3 - overriding - é quando vc que subscrever um metodo, entao ele deve ter o mesmo tipo de retorno e mesma lista de argumentos, pense nisso como, tenho uma pasta com nome Java unidade C: e agora pego uma pasta Java no pen-drive e vou subscrever minha pasta na unidade C, para ser subcrita a pasta deve estar com o mesmo nome correto? pena que o windows ele nao diferencia maiusculo e minusculo… mais isso eh o overriding. exemplo em java.
class Over{
public void met1(){System.out.println("super");}
}
class Sub extends Over{
public void met1(){System.out.println("Sub");}
}
//metodo subscrito na Subclass
agora vamos ao overloading que é uma sobrecarga é quando vc tem metodos com mesmo nome porem tipos de retornos diferentes e a lista de arg diferentes. Exemplo: posso ter um arquivo conta na extensao do word e outro arquivo conta na extensao excel, porem nomes iguais mais extensao diferente. Em java:
class Sob{
public void setM(){System.out.println("ssa");
}
}
class SobSub extends Sob{
public void setM(int a){System.out.println("sobrecarga");}
}
se vc chamar na classe principal setM ele chama o da super classe agora se vc chamar o setM(10) ele chama o dar subclass… bom coloquei apenas para explicacao… as sintaxes acima… espero ter ajudado…
4 - assim para vc entender arrya bidimensional abra o word crie uma tabela com 4 colunas e 3 linhas isso eh um array dentro de outro array entao eu posso ta na linha 2 e me referenciar a coluna 4 do meu array… qdo sair de um arrauy simples e for para um array bidimensional, pense sempre em tabela na duvida crie um tabela normal e va executando o seu codigo em java e olhando para uma tabela…
flw!!
acho que isso ai… se eu tiver errado a galera me corrigi ai… que tb sou um iniciante…