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的更多相关文章
随机推荐
- 批处理 ECHO命令输出空行
众所周知,如果echo后面跟一个环境变量,但是该变量却为空时,相当于不加任何参数的echo,即输出当前echo是on还是off.很多文章或者教程给出的解决方案都是在echo后面加一个点号echo.,这 ...
- Python-openpyxl操作
from openpyxl import Workbook from openpyxl import load_workbook # 加载workbook,注意,openpyxl只支持xlsx格式 w ...
- java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
权限问题,授权给 root 所有sql 权限 在Navicat for MySQL中按F6进入命令列界面 mysql> grant all privileges on *.* to root@& ...
- 【C语言】linux C写入本地文件
//定义写入文件 FILE *pFile; //定义文件路径变量 ]; //变量赋值 sprintf(local_file,"/tmp/test.json"); //打开文件 pF ...
- Mapinfo修改道路方向
在mapinfp工具管理添加插件Reverse Line Direction,就可以修改道路方向 插件
- echarts3.8.4实现城市空气质量(结合百度地图bmap.js,小航哥)
(小航哥自己实现的)为了事先地图效果,需要以下准备: 用百度地图作为地图,需要 1.bmap.min.js(下载地址https://github.com/ecomfe/echarts ,GitHub上 ...
- $git学习总结系列(2)——远程仓库
本文主要介绍git本地仓库和GitHub远程仓库之间的交互和数据传输. 注:首先需要到github.com上注册一个账号. 1. 添加本地SSH Key到GitHub 要向GitHub远程仓库推送代码 ...
- Docker容器技术-优化Docker镜像
一.优化Docker镜像 1.降低部署时间 一个大的Docker应用是如何影响在新Docker宿主机上的部署时间. (1)编写Dockerfile创建一个大Docker镜像 [root@bogon ~ ...
- LVS/DR 配置
LVS/DR 配置 实验环境 三台主机:Linux Centos 6.4 32位 调度器Director:192.168.1.160(公网IP).192.168.1.100(VIP) HTTP真实服务 ...
- 用代码实现断开Android手机USB连接【转】
本文转载自:https://blog.csdn.net/phoebe_2012/article/details/47025309 用代码实现断开Android手机USB连接 ...