A classe de classe é uma implementação que define uma classe específica no idioma Java. Uma definição de classe inclui variáveis de membros, métodos de membros, interfaces implementadas por esta classe e classe pai desta classe. O objeto da classe é usado para representar classes e interfaces no aplicativo Java em execução atualmente. Por exemplo: cada matriz pertence a um objeto de classe de classe e todas as matrizes com o mesmo tipo de elemento e dimensão compartilham um objeto de classe. Os tipos básicos de java (boolean, byte, char, curto, int, longa, flutuação e dupla) e os tipos de vazios também podem ser representados como objetos de classe.
O exemplo a seguir usa um objeto de classe para exibir o nome da classe de um objeto:
void printClassName (object obj) {System.out.println ("a classe de" + obj + "is" + obj.getclass (). getName ()); }Todos sabemos que todas as classes Java herdam a classe de objeto. Existe um método na classe de objeto: getClass (). Este método é usado para obter a referência à classe do objeto que foi instanciado. Essa referência aponta para o objeto da classe (hehe, é um pouco estranho). Não podemos gerar um objeto de classe (construtor privado), e o objeto desta classe é criado automaticamente pela máquina virtual Java quando várias classes são chamadas ou geradas pelo método Defineclass no carregador de classe. O objeto que geramos terá um campo para gravar a localização do objeto da classe. Como mostrado na figura abaixo:
Podemos tratar cada objeto de classe como um proxy para muitas classes. Além disso, em cada objeto de classe, haverá um carregador de classe que registra a classe que ela faz referência. Se esse campo for nulo, significa que o carregador da classe é um carregador de bootstrap. Por um motivo específico, consulte o artigo "Mecanismo de trabalho de classe de classe" que compartilhei antes.
Sabemos que existem vários carregadores em Java e cada carregador pode carregar várias classes; portanto, desde que você obtenha o objeto de classe, você pode usar o método getClassLoader () para obter a referência ao carregador de classe.
A JVM é um objeto de classe exclusivo para cada tipo de gerente. Portanto, podemos usar o operador biequal para comparar objetos: a1.getClass () == A.Class; O que deve ser devolvido é verdadeiro.
forname (string className) e forname (StringClassName, { *} boolean Initialze, *ClassLoader *carregador) *Métodos.
Este método retorna o objeto de classe correspondente com o nome de string fornecido. Dado o nome completo de uma classe ou interface, esse método tenta localizar, carregar e conectar a classe. Se for bem -sucedido, retorne o objeto desta classe. Caso contrário, jogue uma exceção ClassNotFoundException. Por exemplo, o snippet de código a seguir retorna um descritor de classe em execução chamado java.lang.thread. Classst = classe.ForName ("java.lang.thread"); Este método requer especificar o carregador de classe. Ao usar o método forname com apenas um parâmetro de sequência, o objeto de classe chamará o carregador de classe atual por padrão como carregador e definirá o segundo parâmetro como true. O segundo parâmetro Descrição: Se False, chamando o método forname carrega apenas a classe no carregador da classe de comando e não inicializa o bloco estático da classe. O bloco estático é chamado apenas quando a classe é instanciada pela primeira vez. Quando é verdade, o bloco estático é chamado ao carregar.
getClassLoader ()
Obtenha o carregador de classe para esta classe.
getComponentType ()
Se a classe atual representar uma matriz, ele retornará o objeto de classe que representa o componente da matriz, caso contrário, ele retornará nulo.
getConstructor (classe [])
Retorna o objeto infantil do construtor público especificado da classe representado pelo objeto de classe atual.
getConstructors ()
Retorna uma matriz de todos os subobjetos do construtor público da classe representados pelo objeto de classe atual.
getDecLaredConstructor (classe [])
Retorna um subobjeto do construtor especificado pela classe representada pelo objeto de classe atual.
getDecLaredConstructors ()
Retorna uma matriz de todos os subobjetos do construtor declarado da classe representados pelo objeto de classe atual.
getDecLaredfield (string)
Retorna um objeto de domínio que foi especificado para a classe ou interface representada pelo objeto de classe atual.
getDecLaredFields ()
Retorna uma matriz de todos os objetos de domínio declarados para a classe ou interface representados pelo objeto de classe atual.
getDecLaredMethod (String, classe [])
Retorna um objeto de método que foi especificado para a classe ou interface especificada representada pelo objeto de classe atual.
getDecLaredMethods ()
Retorna uma matriz de todos os métodos declarados para a classe ou interface representada pelo objeto de classe.
getfield (string)
Retorna o objeto de domínio do membro público especificado da classe ou interface representada pelo objeto de classe atual.
getfields ()
Retorna uma variedade de objetos de domínio público acessíveis para a classe ou interface representados pelo objeto de classe atual.
getInterfaces ()
Retorna a interface implementada pela classe representada pelo objeto atual ou pela interface.
getMethod (string, classe [])
Retorna o objeto Método do Membro Público Especificado da classe ou interface representada pelo objeto de classe atual.
getMethods ()
Retorna uma matriz de todos os objetos do método de membro público para a classe ou interface representados pelo objeto de classe atual, incluindo declarado e herdado da classe pai.
getModifiers ()
Retorna o código do modificador de idioma Java para a classe ou interface.
getName ()
Retorna a sequência de nome do caminho completo do tipo (classe, interface, matriz ou tipo de base) representado pelo objeto de classe.
getResource (string)
Encontre recursos pelo nome especificado.
getResourceasStream (string)
Encontre recursos com o nome fornecido.
getSigners ()
Obtenha a tag de classe.
getSuperclass ()
Se este objeto representar qualquer classe, exceto o objeto, o objeto da classe pai desse objeto será retornado.
isarray ()
Retorne true se o objeto de classe representar uma matriz, retorne False.
isassignablefrom (classe)
Determina se a classe ou interface representada pelo objeto de classe é a mesma da classe ou interface representada pela classe especificada pelo parâmetro ou é sua classe pai.
isinstance (objeto)
Este método é um método equivalente dinâmico, por exemplo, das operações no idioma Java.
isInterface ()
Determina se o objeto de classe especificado representa um tipo de interface.
isPrimitive ()
Determina se o objeto de classe especificado representa um tipo de base Java.
NewInstance ()
Crie uma nova instância da classe.
ToString ()
Converte um objeto em uma string.
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre discutir brevemente a classe em Java, e espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!