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的更多相关文章
随机推荐
- nginx1.4.7+uwsgi+django1.9.2+gridfs 在ubuntu14.0.4上部署
本文基于root用户安装配置,实现django项目名为trcode sudo apt-get updatesudo apt-get install python-pipsudo apt-get ins ...
- spring多数据源事务配置
项目中遇到多数据源问题, 对于每个数据源需要单独完成事务控制, 这里记录下具体实现方法 在spring配置文件中 定义两个数据源 <!-- 数据源定义(spring-jndi) --> ...
- 一篇搞定spring Jpa操作数据库
开始之前你必须在项目配置好数据库,本文使用的spring boot,相比spring,spring boot省去了很多各种对以来组件复杂的配置,直接在pom配置组件,完后会自动帮我们导入组件 < ...
- python函数回顾:dict()
描述 dict() 函数用于创建一个字典. 语法 dict 语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterab ...
- Python3.6全栈开发实例[008]
8.有如下变量(tu是个元祖),请实现要求的功能:tu = ("alex", [11, 22, {"k1": 'v1', "k2": [&q ...
- zabbix-2.4.8-1添加nginx状态监控
前期准备:nginx在编译是必须要加如下参数: 并且要在nginx的配置文件中添加如下配置: server { listen *: default_server; server_name localh ...
- Ajax知识
一.Ajax介绍前戏 1.json介绍 1.什么是json? json(JavaScript Object Notation,JS对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript ...
- 剑指offer 面试34题
面试34题: 题目:二叉树中和为某一值的路径 题:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 解题代码 ...
- HAProxy详解
HAProxy概述与配置 一.HAProxy概述 HAProxy是由 WillyTarreau开发的一款具备高可用性.负载均及基于 TCP和 HTTP的应用代理开源软件,基于HAProxy的负载均衡架 ...
- Hibernate深入浅出(九)持久层操作——数据保存&批量操作
数据保存: 1)session.save session.save方法用于实体对象到数据库的持久化操作.也就是说,session.save方法调用与实体对象所匹配的Insert SQL,将数据插入 ...