Compreensão aprofundada do método de reflexão Java para criar código

Ao falar sobre exemplos, muitas pessoas ainda não conseguem explicar o porquê desse conceito. Na verdade, uma instância é um objeto específico, como as classes e matrizes que aprendemos antes, você pode criar instâncias. Reflexão também é um conceito relativamente abstrato, portanto, podemos instanciá-lo. A seguir está uma breve compreensão dos exemplos e, em seguida, traga os métodos de instanciação de instância de reflexão não parametrizada e parametrizada, respectivamente.

1. Descrição de exemplo

Novo Um objeto é uma instância. Você pode chamar o novo objeto de uma instância. Para ser franco, é a "coisa" que é nova. Você também pode chamá-lo de objeto ou instância. O objeto e a instância são equivalentes de deste ponto de vista.

2. Crie uma instância do parâmetro nulo

Use o método newInstance () do objeto Class para criar uma instância da classe correspondente do objeto Class.

// Original: quando novo, primeiro procure o arquivo bytecode da nova classe de acordo com o nome da classe, e carregue-o na memória.

// E crie o objeto de arquivo de bytecode e, em seguida, crie o objeto Person correspondente ao arquivo de byte.

Person p = new Person();
//反射:找寻该类的名称,并加载进内存,并产生Class对象
//在产生类的对象
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Object obj = clazz.newInstance();

3. Crie uma instância com parâmetros

Neste momento, você precisa obter o objeto Construtor especificado por meio do objeto Class e, em seguida, chamar o método newInstance () do objeto Construtor para criar uma instância.

class Person {
    public String name;
    private int age;
    public Person(String name, int age) {
      this.name = name;
      this.age = age;
    }
  }
//获取Person类带一个(String,int)参数的构造器
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Constructor constructor = clazz.getConstructor(String.class,int.class);

Expansão de conteúdo:

Definição de
reflexão O mecanismo de reflexão refere-se à capacidade de um programa de obter suas próprias informações enquanto está em execução. Em Java, desde que o nome da classe seja fornecido, todos os atributos e métodos da classe podem ser obtidos através do mecanismo de reflexão.

O papel da reflexão

  • Julgue a classe à qual qualquer objeto pertence em tempo de execução.
  • Julgue as variáveis ​​de membro e métodos de qualquer classe em tempo de execução.
  • Chama arbitrariamente um método de um objeto em tempo de execução
  • Construir um objeto de qualquer classe em tempo de execução

As últimas perguntas da entrevista de alta frequência coletadas em 2021 (todas organizadas em documentos), há muitos produtos secos, incluindo mysql, netty, spring, thread, spring cloud, jvm, código-fonte, algoritmo, etc. Explicações detalhadas, como bem como planos de aprendizagem detalhados, entrevistas, classificação de perguntas, etc. Para aqueles que precisam obter esses conteúdos, por favor, adicione Q como: 11604713672

Acho que você gosta

Origin blog.csdn.net/weixin_51495453/article/details/114449040
Recomendado
Clasificación