目录

前言:

代码部分:

computer类:

1.类名.class创建反射对象:

2.对象.getclass创建反射对象:

3.Class.forName("")创建反射对象:

前言:

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。

这里的反理解为反转,控制反转。假如我们需要零花钱就找老婆要,这是“正”。但是现在反过来是老婆主动给我们,这是“反”。虽然最后的结果都一样,都是老婆给我们零花钱,但是方式不一样。程序中以前创建对象是通过new来创建对象,自上而下。但是现在我们可以使用反射技术反过来自下而上的提供访问。反射相关的类都在java.lang.reflect包下。

代码部分:

computer类:

package com.dmdd.ioc;

public class Computer {

private String brand;

private Cpu cpu;

private Memory memory;

public String getBrand() {

return brand;

}

public void setBrand(String brand) {

this.brand = brand;

}

public Cpu getCpu() {

return cpu;

}

public void setCpu(Cpu cpu) {

this.cpu = cpu;

}

public Memory getMemory() {

return memory;

}

public void setMemory(Memory memory) {

this.memory = memory;

}

public void start (){

System.out.println(brand+"品牌的电脑启动了");

cpu.run();

memory.read();

memory.write();

}

}

1.类名.class创建反射对象:

public static void main(String[] args) {

Class computerClass = Computer.class;

}

2.对象.getclass创建反射对象:

public static void main(String[] args) {

Computer computer = new Computer();

Class aClass = computer.getClass();

}

3.Class.forName("")创建反射对象:

public static void main(String[] args) {

try {

Class.forName("com.dmdd.ioc.Computer");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: