【java】反射简单示例

1 package 反射;
2
3 public class Test反射 {
4     public static void main(String[] args) {
5         System.out.println(Runtime.getRuntime().getClass());//class java.lang.Runtime
6         Test反射 t=new Test反射();
7         System.out.println(t.getClass());//class 反射.Test反射
8     }
9 }

getClass

 1 package 反射;
 2
 3 public class Test反射 {
 4     public static void main(String[] args) {
 5         Test反射 t=new Test反射();
 6         //Class类是反射操作的源头,所有的反射都要从此类开始进行。
 7         Class<?> cls=t.getClass();//第1种Class类实例化方法,用的很少
 8         System.out.println(cls);//class 反射.Test反射
 9         Class<?> cls2=Test反射.class;//第2种Class类实例化方法,用的多,使用领域:Hibernate、Mybatis、Spring
10         System.out.println(cls2);//class 反射.Test反射
11         Class<?> cls3=null;
12         try {
13             cls3=Class.forName("反射.Test反射");//第3种Class类实例化方法,用的多。此处要写全名,即加上包名,否则报错。
14         } catch (ClassNotFoundException e) {
15             e.printStackTrace();
16         }
17         System.out.println(cls3);//class 反射.Test反射
18     }
19 }

Class类3种实例化方式

 1 package 反射;
 2 class A{
 3     public A(){
 4         System.out.println("调用无参构造实例化对象。");
 5     }
 6     @Override
 7     public String toString() {
 8         return "调用toString()方法。";
 9     }
10 }
11 public class Test反射 {
12     public static void main(String[] args) {
13         Class<?> cls=null;
14         try {
15             cls=Class.forName("反射.A");
16         } catch (ClassNotFoundException e) {
17             e.printStackTrace();
18         }
19         Object o=null;
20         try {
21             o=cls.newInstance();
22         } catch (InstantiationException e) {
23             e.printStackTrace();
24         } catch (IllegalAccessException e) {
25             e.printStackTrace();
26         }
27         System.out.println(o);
28         /**
29          * 运行结果:
30          *    调用无参构造实例化对象。
31          *    调用toString()方法。
32          */
33     }
34 }

利用反射进行实例化对象

时间: 2024-11-10 14:56:26

【java】反射简单示例的相关文章

java反射简单实现注入

做了好久的java开发 ,却一直没有详细了解java反射机制,后来写项目的时候发现用反射可以少写好多无聊的代码,因此用java反射简单实现注入. java反射的具体细节可参见 这篇博客写的非常详细,点此进入~ 而一般基于业务的编程主要用反射实现将属性动态的注入一个对象中. 以下是方法实现: 1 /** 2 * 根据 传入的map与类名,通过反射实例化对象 3 * @param className 需要实例化的类名 4 * @param map 包含属性的键值对 (String,Object) 5

Java反射-简单应用

为了程序更好的维护和扩展,在面向对象思维的世界里,首先是面向接口编程,然后我们应该把做什么和怎么做进行分离. 下面我将用一个开晚会的例子来演示一下,最终达到的效果是:工厂+反射+配置文件实现程序的灵活应用.会具体说明一下这个过程是怎么来的,明白了这个,就会对反射和配置文件的结合更加深刻一些. 想要实现的功能是:晚会有一个唱歌.舞蹈.小品的节目单,具体各个节目的表演者只需要一个就可以,每一个表演接口都有两个实现类(表演者),通过客户端调用不同的实现类来实现不同的节目单.表演者就是"做什么"

c#反射简单示例

反射无论在开发模式和实际应用中,都非常实用,下面用个小例子,来记录一下反射的简单用法 首先,准备一个将用于反射的类,并编译: public class Point { private int _x; private int _y; public int X { set { this._x = value; } get { return _x; } } public int Y { set { this._y = value; } get { return _y; } } public void

Java反射 - 简单的给Bean赋值和取值

由于项目的实际需要,所以利用java反射原理写了一个简单给bean赋值和取值通用的类,在此记录下方便自己日后用到,也为需要的兄弟提供个参考例子. 工具类BeanRefUtil: [java] view plain copy print? package com.test; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.u

Java反射+简单工厂模式总结

除了 new 之外的创建对象的方法 通过 new 创建对象,会使得程序面向实现编程,先举个例子,某个果园里现在有两种水果,一种是苹果,一种是香蕉,有客户想采摘园子里的水果,要求用get()方法表示即可 一般情况下,最直接的写法为: public class Apple { public void get() { System.out.println("得到苹果"); } }   public class Banana { public void get() { System.out.p

java反射简单例子

假设有如下类: package com.test.reflect; public class Person { private int age; private String name; public Persion() { } public Persion(String name) { this.name = name; } public Persion(String name,int age) { this(name); this.age = age; } public void setNa

Java 反射常用方法示例

<pre name="code" class="java">import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; class Point{ int x; private int y; public Point(){ x = 1; y = 2; } public void setX(int x) { thi

Java反射机制示例

链接: http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html package com.stono.reftest; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class Re

spark sql简单示例

运行环境 集群环境:CDH5.3.0 具体JAR版本如下: spark版本:1.2.0-cdh5.3.0 hive版本:0.13.1-cdh5.3.0 hadoop版本:2.5.0-cdh5.3.0 spark sql的JAVA版简单示例 spark sql直接查询JSON格式的数据 spark sql的自定义函数 spark sql查询hive上面的表 import java.util.ArrayList; import java.util.List; import org.apache.sp