前一段时间学习java的的反射机制,做了一下例子,供大家参考.
package org.reflect.reflecttest;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/***
* 反射演示类,该类中利用反射技术获得一个类中的所有信息
* @author clplain;
*
*/
public class ReflectDemo {
public static void getInfo(String packages){
try {
// Class stuCla = Student.class;//获得Student类的一个反射,通过类获得
// Class stuClass = new Student().getClass();//获得Student类的一个反射,通过对象获得
Class studentCla = Class.forName(packages);//获得Student类的一个反射,通过类获得
/**
* 获得属性
*/
Field[] fields = studentCla.getDeclaredFields();//获得类的所有属性
for(Field field : fields){
System.out.println("属性名:"+field.getName());//获得属性名
System.out.println("属性的类型:"+field.getType());//获得属性的类型
System.out.println("属性的访问权限:"+Modifier.toString(field.getModifiers()));//获得反问权限
}
System.out.println("*******************************************************");
/**
* 获得方法
*/
//获得所有方法
Method[] methods = studentCla.getDeclaredMethods();
//循环获得每个方法的信息
for(Method method :methods){
System.out.println("方法名:"+method.getName());//方法名
System.out.println("方法的返回类型:"+method.getReturnType());//获得方法的返回类型
System.out.println("方法的访问权限:"+Modifier.toString(method.getModifiers()));//方法的访问权限
System.out.println("参数列表:");
Class[] classes = method.getParameterTypes();//获得所有的参数列表
for(Class clas : classes){
System.out.println(clas);
}
}
System.out.println("************************************************************");
Constructor[] constructors = studentCla.getDeclaredConstructors();//获得所有构造方法
for(Constructor con : constructors){
System.out.println("构造方法名:"+con.getName());//构造方法名
System.out.println("访问权限:"+Modifier.toString(con.getModifiers()));
System.out.println("参数列表:");
Class[] clas = con.getParameterTypes();
for(Class claes : clas){
System.out.println(claes);
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
getInfo("org.reflect.entity.Student");//此处传入的参数为类的具体路径;
}
}
分享到:
相关推荐
Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在本篇文章中,我们将探讨Java反射的基本概念、如何使用以及其在实际开发中的应用,结合“JAVA简单...
在这个例子中,程序员可能定义了一个函数来计算抛物线的轨迹,这个函数通常会涉及物理学中的初速度、角度、重力加速度等因素。函数可能使用了数学公式来计算每个时间步长内物体的位置,然后在画布上绘制出这些点,...
在这个例子中,AirWarPlus可能包含了游戏的主类,以及其他辅助类,如飞机类、子弹类、敌人类等,这些类共同构成了游戏的实体和行为。资源文件可能包括飞机、敌人、背景等的图像,以及可能的音效文件,它们会被加载到...
在这个例子中,我们动态地创建了一个`ArrayList`实例,找到了它的`add`方法并调用,实现了在运行时动态添加元素的功能。 然后,关于模拟DBUTIL实现的JDBC操作,DBUTIL是一个数据库操作工具类,通常用于简化JDBC的...
在这个例子中,`Rectangle bounds`代表游戏窗口或屏幕的边界。`bounceWalls`方法检查小球是否与边界接触,并根据接触的边缘调整速度。 为了在屏幕上显示小球并观察其运动,我们需要一个画布(Canvas)或者使用...
本项目“浪漫烟花”就是一个典型的例子,它利用Java技术为网页增添了一抹绚丽的色彩。这个小程序可以作为一个练习项目,帮助开发者提升对Java Web开发的理解和技能。 首先,我们要了解Java小程序的基础。Java小程序...
总的来说,这个项目涵盖了Java基础、GUI编程、游戏开发、数据库操作和设计模式等多个重要知识点,是学习和实践综合Java技术的好例子。通过完成这个项目,开发者不仅能提升编程技能,还能了解到如何将软件工程的原理...
在编程世界里,我们常常通过代码来表达情感,这次分享的“我的java浪漫烟花”就是一个极好的例子。这个程序是为了庆祝特殊时刻,用编程语言为心爱的人献上一场绚丽的数字烟花秀。接下来,我们将深入探讨这个Java项目...
总结起来,这个“java写的简化版飞机大战游戏”是一个实践Java编程和游戏开发的好例子。它涵盖了游戏逻辑、用户界面、音频集成等多个方面,对于初学者来说,通过研究这个游戏的源代码,可以深入理解Java编程语言以及...
Java是一种面向对象的语言,游戏中涉及坦克、子弹、障碍物等实体,它们都是类的实例,具备各自的属性(如位置、生命值、速度)和行为(如移动、发射子弹、碰撞检测)。 2. **图形用户界面(GUI)**:游戏界面的展示...
在这个例子中,可能使用了Swing组件来构建游戏窗口,并通过Graphics类来绘制游戏元素,如飞机、子弹和敌人。 3. **多线程**:为了实现游戏的实时性,游戏的逻辑和图形更新通常在不同的线程中运行。这涉及到Thread类...
通过以上知识点的介绍,我们可以看出,Java实现的星际大战小游戏不仅仅是一个娱乐项目,也是学习和实践Java编程技能的好例子。它涵盖了面向对象设计、图形界面开发、多线程处理、游戏逻辑等多个方面,对于提升Java...
在这个例子中,主类可能包含了`main`方法,用于启动程序,并创建了游戏窗口。 2. **游戏窗口(Game Panel)**:通常是一个继承自`JPanel`或`javafx.scene.Scene`的类,负责绘制游戏场景。游戏逻辑、绘图操作以及...
2. **事件驱动编程**:游戏中的交互通常是事件驱动的,比如玩家点击屏幕发射子弹,这需要理解和使用Java的事件监听机制。 3. **多线程**:为了实现游戏的实时性和流畅性,通常需要使用多线程。例如,游戏逻辑和渲染...
在“java手机游戏打飞机”这个例子中,我们可以假设这是一个简单的飞行射击游戏。开发此类游戏需要实现子弹发射、敌机移动、碰撞检测、得分计算等功能。开发者需要编写逻辑来控制飞机的移动,处理玩家的射击请求,...
"弹球程序"就是一个很好的例子,它展示了Java在实现简单但引人入胜的休闲游戏方面的潜力。 "打砖块"是一款经典的街机游戏,其基本玩法是控制一个板子来反弹弹球,避免球掉到底部,同时通过弹球击碎屏幕上排列的砖块...
总之,"Java网页特效之豪情烟花"是一个展示Java Applet技术魅力的例子,它通过Java语言的图形绘制、动画控制、事件处理等功能,为网页创造出引人入胜的视觉体验。虽然现代网页开发更倾向于使用JavaScript和WebGL等...
在Java中,多线程的运用也至关重要,因为USB通信通常在单独的线程中进行,以避免阻塞UI。 项目中的一个重要部分是用户界面设计。Android提供了丰富的布局和控件,如Button、TextView等,用于构建交互式的UI。在...
总的来说,这个"java打鸟游戏.zip"为我们提供了一个学习Java游戏开发的好例子。通过研究和解构这个项目,我们可以了解游戏开发的基本流程,掌握如何使用Java进行图形绘制、事件处理、面向对象编程以及多线程技术。...
本项目“Java课设,弹幕射击游戏”是一个生动的例子,展示了如何利用Java进行游戏编程。通过分析这个游戏的源代码,我们可以深入学习Java游戏开发的基础知识和技巧。 首先,让我们了解一下游戏的基本结构。一个弹幕...