JAVA中的反射中加载类的方法

反射:加载类的方法有三种,

1.用Class.forName("类名")方法来调用;
2.类名.class得到
3.用对象.getClass()得到
package com.ma.reflection;

import org.junit.Test;

import com.ma.bean.UserBean;

public class Demo1 {

	/**
	 * 反射:加载类的方法
	 */
	@Test
	public void test1(){
		//1.用Class.forName("类名")方法来调用;
		try {
			Class<?> c = Class.forName("com.ma.bean.UserBean");
			System.out.println(c);

		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		//2.类名.class得到
		Class<?> cla1 =  UserBean.class;
		System.out.println(cla1);

		//3.用对象.getClass()得到
		Class<?> cla2 =  new UserBean().getClass();
		System.out.println(cla2);
	}

}

  UserBean实体类

package com.ma.bean;
/**
 * UserBean实体类
 * @author ma
 *
 */
public class UserBean {

	private String id;
	private String name = "张三";
	private String password;
	public UserBean() {
		super();
		System.out.println("我是无参构造方法");
	}
	public UserBean(String id, String name, String password) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
		System.out.println("我是有参构造方法");
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "UserBean [id=" + id + ", name=" + name + ", password="
				+ password + "]";
	}

	private UserBean(String name){
		this.name = name;
		System.out.println(name);
	} 

}

  

原文地址:https://www.cnblogs.com/majingang/p/9116043.html

时间: 2024-10-10 01:58:41

JAVA中的反射中加载类的方法的相关文章

java中反射:加载类的构造方法

package com.ma.reflection; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import org.junit.Test; import com.ma.bean.UserBean; /** * 反射:加载构造方法 * @author ma * */ public class Demo2 { /** * 反射:加载类的无参构造方法 */ @Te

Android运行时ART加载类和方法的过程分析

在前一篇文章中,我们通过分析OAT文件的加载过程,认识了OAT文件的格式,其中包含了原始的DEX文件.既然ART运行时执行的都是翻译DEX字节码后得到的本地机器指令了,为什么还需要在OAT文件中包含DEX文件,并且将它加载到内存去呢?这是因为ART运行时提供了Java虚拟机接口,而要实现Java虚拟机接口不得不依赖于DEX文件.本文就通过分析ART运行时加载类及其方法的过程来理解DEX文件的作用. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 在前面An

01_反射_01_加载类

[简述] 一个类有多个组成部分,例如:成员变量.方法.构造方法等.发射就是加载类,并剖析出类的各个组成部分. [加载类的三种方式] * Java中有一个Class类用于代表某一个类的字节码. * Class类既然代表某个类的字节码,它就自然会提供加载某个类的字节码的方法:forName( ); forName( )方法用于加载某个类的字节码到内存中,并使用class对象进行封装. *另外两种得到class对象的方式: 类名.class 对象.getClass() 如下所示: [Class对象]

页面中js按顺序加载完全的方法

页面中js加载完全的方法   function loadScript( url, callback) {     var script = document.createElement("script");     script.type = "text/javascript";     if (script.readyState) {         script.onreadystatechange = function() {             if (

[javaSE] 反射-动态加载类

Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 Ⅰ所有的new对象都是静态加载类 在编译的时刻就要去检测该类是否存在,如果不存在,编译失败. //对于这种情况,静态加载不适用,因为我们需要根据输入来确定加载哪个类 package com.tsh.reflect; class ReflectLoadDemo { public static void main(String[]

4月29 加载类以及面向对象的例题

加载类:从现在养成的习惯以后写类名时:每个单词的首字母的大写,这样的命名方法叫做驼峰法,eg:Info.class.php 这样很快可以看清楚就是一个Info的类 在php代码里面,/代表本地磁盘的根,(该文件所在的应聘)在html代码里面,/代表的是当前的站点目录(这里是www目录) 加载类的方法:将文件名加载到页面,最好是在同一个路径下,参数是一个路径(能够找到类文件) include("Info.class.php"); //直接写文件名的加载 include "Inf

自动加载类 (面向对象)----2017-04-20

一.__tostring()方法(了解) 写在类里:必须有返回值 class Ren { public $name; public function __ tostring() { return "该类是人类,name代表姓名"; } } $r = new Ren(); echo $r; 二.__clone()方法(了解) class Ren { public $name="张三"; //第二种修改成员变量值的方法 public function __clone()

java类中各成分的加载顺序跟内存中的存放位置-----转载

1 参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 2 3 一.什么时候会加载类? 4 使用到类中的内容时加载:有三种情况 5 1.创建对象:new StaticCode(); 6 2.使用类中的静态成员:StaticCode.num=9; StaticCode.show(); 7 3.在命令行中运行:java StaticCodeDemo 8 9 二.类所有内容加载顺序和内存中的存放位置: 10 利用语句进行分析. 11

java中JVM加载类的时机

一.描述 java中的类在什么时候被JVM虚拟机加载呢?因为静态成员初始化的时候会在类首次加载的时候执行, 我们通过测试一个静态代码块的执行时间来判断JVM加载该类的时间. 总结:JVM只在需要某个类或者使用Class.forName(className)强制加载类的时候才会被调用,如果只是声明某个类的引用,而没有创建对象则不会加载该类. 二.源代码 1.只是声明某个类的引用,而没有创建对象则JVM不会加载该类 package tong.yue.day4_25; /** * java中的类在什么