Upcast e abatido:
Em Java, a herança é uma característica importante, se estende através de palavras-chave, subclasses pode reutilizar funcionalidade do método da classe pai da classe pai se o pai não pode satisfazer as necessidades atuais da subclasse, a subclasse pode substituir a ser extensão.
Na aplicação, existem duas maneiras de transformação, a saber: transição para cima e para a transição para baixo .
Por exemplo: pai pai, subclasse Criança
- Upcast: referências a subclasse objecto principal p = novo para crianças () do pai;
- Descrição: Quando a transição para cima, objeto de subclasse como um objeto pai, a função só pode ser chamado a classe pai, se a classe filha substitui o método pai para chamar Com base neste referencial aponta para método da subclasse override.
- transição para baixo (menos): subclasse pontos de referência de objecto a subclasse, o processo tem de ter em moldes.
Parent p = new Child();//向上转型,此时,p是Parent类型
Child c = (Child)p;//此时,把Parent类型的p转成小类型Child
- // Na verdade, o equivalente a criar uma subclasse de objetos, você pode usar a classe pai, você também pode usar seu próprio
- Descrição: Quando abatido, para a conveniência de usar um subclasses método especial, que é quando o método da subclasse faz expansão função, pode ser usado função diretamente subclasse.
A diferença entre variáveis estáticas e variáveis de instância
As diferenças na definição de sintaxe: ex variável estática para adicionar a palavra-chave estática, mas não antes de adicionar variáveis de instância.
O programa é executado diferença:
- variáveis de instância pertencentes às propriedades de um objeto, você deve criar uma instância de um objeto, em que as variáveis de instância são alocados espaço, a fim de utilizar esta variável de instância.
- variáveis estáticas não pertencem a uma instância de um objeto, mas pertencem à classe, ele também é conhecido como variáveis de classe, desde que o programa é de classe bytecode carregado, não crie qualquer instância de um objeto, variáveis estáticas será atribuído espaço, variáveis estáticas pode ser usar.
- Em suma, após as variáveis de instância deve criar um objeto pode ser usado por este objeto, você pode usar variáveis estáticas referência diretamente o nome da classe.