review21
Class是java.lang包中的类,该类的实例可以帮助程序创建其他类的实例或者取得其他类的对象的内部信息。
参考代码如下所示:
package pack07;
import java.util.Date;
class Rect{
double width, height, area;
public double getArea()
{
area = width * height;
return area;
}
}
public class Test11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Class cs = Class.forName("pack07.Rect");
Rect rect = (Rect)cs.newInstance();//Rect必须有无参构造方法
rect.width = 100;
rect.height = 200;
System.out.println("rect的面积:" + rect.getArea());
cs = Class.forName("java.util.Date");
Date date = (Date)cs.newInstance();
System.out.println(date.toString());
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
运行结果如下所示:

获取类的相关信息
当一个类被加载且创建对象是,和该类相关的一个类型为Class的对象就会自动创建,任何对象调用getClass()方法都可以获取和该对象相关的一个Class对象,这个Class对象调用如下的方法可以获取对象的有关信息。
String getName()返回类的名字
Constructor[] getDeclaredConstructors()返回类的全部构造方法
Field[] field getDeclaredFields()返回类的全部成员变量
Method[] getDeclaredMethods()
代码展示如下所示:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Date; public class Test12 { public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date();
Class cs = date.getClass();
String className = cs.getName();
Constructor[] con = cs.getDeclaredConstructors();
Field[] field = cs.getDeclaredFields();
Method[] method = cs.getDeclaredMethods();
System.out.println("类的名字:" + className);
System.out.println("类中有如下的成员变量:");
for(int i = 0; i < field.length; i++)
{
System.out.println(field[i].toString());
}
System.out.println("类中有如下的方法:");
for(int i = 0; i < method.length; i++)
{
System.out.println(method[i].toString());
}
System.out.println("类中有如下的构造方法");
for(int i = 0; i < con.length; i++)
{
System.out.println(con[i].toString());
}
} }
运行结果如下所示:

review21的更多相关文章
随机推荐
- 巨蟒python全栈开发django13:中间件部分
1.回顾昨日内容 2.session认证装饰器 3.django整个流程 4.中间件简单应用 5.简单统计访问次数 6.中间件其他方法 7.orm单表内容回顾
- window子对象
Window 子对象 (1)Location 对象 Location 对象包含有关当前 URL(统一资源定位符) 的信息.(Uniform Resource Location) Location 对象 ...
- C#中的自定义控件中的属性、事件及一些相关特性的总结(转)
摘要: C#中的自定义控件中的属性(Property).事件(Event)及一些相关特性(Attribute)的总结 今天学习了下C#用户控件开发添加自定义属性的事件,主要参考了MSDN,总结并实 ...
- 使用GUID作为数据表主键的好处(转)
http://blog.itpub.net/3875/viewspace-789520/ 分类: 数据库开发技术 使用GUID作为数据表主键的好处 [@more@] 使用GUID作为数据表主键的好处 ...
- python函数回顾:min()
描述 min() 方法返回给定参数的最小值,参数可以为序列. 语法 以下是 min() 方法的语法: min( x, y, z, .... ) 参数 x -- 数值表达式. y -- 数值表达式. z ...
- Python3.6全栈开发实例[005]
5.接收两个数字参数,返回比较大的那个数字. def compare(a,b): return a if a > b else b # 三元表达式 print(compare(20,100))
- 磁盘对齐-windows篇
什么是磁盘分区对齐(Disk Alignment.Partition Alignment): Windows的磁盘有一种结构叫做Master Boot Record(MBR), 它的默认大小为63个B ...
- C#将图片白色背景设置为透明
Image image = System.Drawing.Image.FromFile(@"C:\A.JPG"); Bitmap pbitmap = new Bitmap(imag ...
- 使用jQuery方法做任务左右栏移动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SpringBoot整合Redis集群
一.环境搭建 Redis集群环境搭建:https://www.cnblogs.com/zwcry/p/9174233.html 二.Spring整合Redis集群 1.pom.xml <proj ...