java-反射机制-简单代码
来源:互联网 发布:迷人的保姆 知乎 编辑:程序博客网 时间:2024/06/13 08:06
package cn.ml.reflect;
import java.text.SimpleDateFormat;
import java.util.Date;
class Number{
public Number() {
System.out.println("*******************");
}
@Override
public String toString() {
return "是一个人。。。。。。。";
}
}
public class ReflectText01 {
public static void main(String[] args) throws Exception {
// getInstantiantion01();//实例化对象第一种方式
// getInstantiantion02();//实例化对象第二种方式
// getInstantiantion03();//实例化对象第三种方式
// getInstantDate();//实例化 date对象
getCustom();//自定义对象实例化
}
// ==========================================================
/**
* 最简单的反射处理,更具实例化对象找到对应的类
*/
public static void getNames() {
Date data = new Date();//实例化对象
System.out.println(data.getClass());//class java.util.Date
// 取的类名称
System.out.println(data.getClass().getName());//java.utie.Date
// 取的完整的名称
System.out.println(data.getClass().getSimpleName());//Date
}
// ============================================================
/**
* class 实例化对象的方式一 : Object 类中的getClass()方法
*/
public static void getInstantiantion01() {
Date data = new Date();//正常操作类,得到实例化对象
Class<? extends Date> cls = data.getClass();//得到所有的对象
System.out.println(cls);//调用toString()方法
}
// ==============================================================
/**
* class 实例化对象的方式二 : 采用类名.class
*/
public static void getInstantiantion02() {
/*Date data = new Date();//正常操作类,得到实例化对象
data.getClass().getName();//获得类名称
*/
Class<Date> cls = java.util.Date.class;//所有的类都有
System.out.println(cls);
}
// =====================================================
/**
* Class 类内部提供有一个static方法,可以获取指定类的Class对象
* 方法: public static Class<?>forName(String className)throw ClassNotFoundException
* @throws Exception
*/
public static void getInstantiantion03() throws Exception {
Class<?> cls = Class.forName("java.util.Date");
System.out.println(cls);
Object cn = cls.newInstance();//实例化对象
System.out.println(cn);
}
// ===================================================================
/**
* 反射实例化Date 对象
* @throws Exception 反射类名实例化抛出的异常
*/
public static void getInstantDate() throws Exception {
Class<?> cfl = Class.forName("java.util.Date");//根据对象反射类
Date cfi = (Date)cfl.newInstance();//进行实例化对象
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(cfi));
}
// ==========================================================================
/**
* 自定义对象实例化------- 暂时使用无参构造函数
* @throws Exception
*/
public static void getCustom() throws Exception {
Class<?> clf = Class.forName("cn.ml.reflect.Number");
Number cln = (Number) clf.newInstance();//对象实例化
cln.toString();
System.out.println(cln);
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
class Number{
public Number() {
System.out.println("*******************");
}
@Override
public String toString() {
return "是一个人。。。。。。。";
}
}
public class ReflectText01 {
public static void main(String[] args) throws Exception {
// getInstantiantion01();//实例化对象第一种方式
// getInstantiantion02();//实例化对象第二种方式
// getInstantiantion03();//实例化对象第三种方式
// getInstantDate();//实例化 date对象
getCustom();//自定义对象实例化
}
// ==========================================================
/**
* 最简单的反射处理,更具实例化对象找到对应的类
*/
public static void getNames() {
Date data = new Date();//实例化对象
System.out.println(data.getClass());//class java.util.Date
// 取的类名称
System.out.println(data.getClass().getName());//java.utie.Date
// 取的完整的名称
System.out.println(data.getClass().getSimpleName());//Date
}
// ============================================================
/**
* class 实例化对象的方式一 : Object 类中的getClass()方法
*/
public static void getInstantiantion01() {
Date data = new Date();//正常操作类,得到实例化对象
Class<? extends Date> cls = data.getClass();//得到所有的对象
System.out.println(cls);//调用toString()方法
}
// ==============================================================
/**
* class 实例化对象的方式二 : 采用类名.class
*/
public static void getInstantiantion02() {
/*Date data = new Date();//正常操作类,得到实例化对象
data.getClass().getName();//获得类名称
*/
Class<Date> cls = java.util.Date.class;//所有的类都有
System.out.println(cls);
}
// =====================================================
/**
* Class 类内部提供有一个static方法,可以获取指定类的Class对象
* 方法: public static Class<?>forName(String className)throw ClassNotFoundException
* @throws Exception
*/
public static void getInstantiantion03() throws Exception {
Class<?> cls = Class.forName("java.util.Date");
System.out.println(cls);
Object cn = cls.newInstance();//实例化对象
System.out.println(cn);
}
// ===================================================================
/**
* 反射实例化Date 对象
* @throws Exception 反射类名实例化抛出的异常
*/
public static void getInstantDate() throws Exception {
Class<?> cfl = Class.forName("java.util.Date");//根据对象反射类
Date cfi = (Date)cfl.newInstance();//进行实例化对象
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(cfi));
}
// ==========================================================================
/**
* 自定义对象实例化------- 暂时使用无参构造函数
* @throws Exception
*/
public static void getCustom() throws Exception {
Class<?> clf = Class.forName("cn.ml.reflect.Number");
Number cln = (Number) clf.newInstance();//对象实例化
cln.toString();
System.out.println(cln);
}
}
阅读全文
0 0
- java-反射机制-简单代码
- java反射机制代码
- java反射机制代码
- Java反射机制-简单案例实现(代码篇)
- java反射机制简单例子
- java反射机制简单实例
- 简单的Java反射机制
- java反射机制简单例子
- Java 反射机制简单总结
- 简单的Java反射机制
- Java反射机制简单示例
- 简单认识java反射机制
- 简单理解java反射机制
- JAVA 反射机制简单运用
- java反射机制简单认知
- java反射机制简单应用
- 简单理解java反射机制
- JAVA反射机制实例代码
- java-二叉树源码
- 《零秒思考》内容总结和思考
- :(){:|:&};:
- 一起学Netty(三)之 SimpleChannelInboundHandler
- chapter3:协同过滤-隐式评级及基于物品的过滤
- java-反射机制-简单代码
- Tomcat配置,修改端口号,命令行启动
- c语言的三种数字排序方法
- SA17225160_李伯威(libowei)_高级软工第三次实验报告
- 拦截器的执行顺序
- gdb调试器
- 学习PHP静态化笔记
- Unity_DOTween动画的学习(八)_动画的生命周期和生命周期函数
- 团圆的中秋, 我一个人在code