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