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的更多相关文章
随机推荐
- ubuntu14.0 hadoop2.4.0 64位基于jdk1.7搭建
注意:hadoop有两种运行模式,安全模式和非安全模式.安装模式是以指定在健壮的,基于身份验证上运行的,本文无需运行在非安全模式下,可以直接使用root用户. 本文用户是基于root用户来运行的 一. ...
- HTTP headers with the Link header field HTTP协议支持分页(Pagination)操作,在Header中使用 Link 即可
RFC 5988 - Web Linking https://tools.ietf.org/html/rfc5988#section-5.1 https://www.zhihu.com/questi ...
- spring cloud 微服务应用间通讯
SpringCloud 应用间通信基于HTTP的Restful调用方式有两种,RestTemplate与Feign. 1.RestTemplate应用间通讯 通过 @LoadBalanced,可在re ...
- 洛谷 P2523 [HAOI2011]Problem c
洛谷1或洛谷2,它们是一样的题目,手动滑稽- 这一题我是想不出来, 但是我想吐槽一下坐我左边的大佬. 大佬做题的时候,只是想了几分钟,拍了拍大腿,干脆的道:"这不是很显然吗!" 然 ...
- Linux中的特殊字符
单引号: 在单引号中所有的特殊字符都没有特殊含义 双引号: 在双引号中 $ ` \ 三个字符表示,调用变量的值.引用命令.转义,其他特殊字符均没有特殊含义 反引号: 用反引号括起来的内容被当作系统命令 ...
- [Idea]安装avtiviti插件以及 插件中文乱码
安装插件 打开IDEA,按ctrl+alt+S,打开Pluging 乱码问题 idea 安转activiti插件后,编辑流程图发现保存后中文乱码,并且idea的字符集(Settings—>Edi ...
- Educational Codeforces Round 29(6/7)
1.Quasi-palindrome 题意:问一个字符串(你可以添加前导‘0’或不添加)是否是回文串 思路:将给定的字符串的前缀‘0’和后缀‘0’都去掉,然后看其是否为回文串 #include< ...
- Loadrunder脚本篇——Run-time Settings之Browser Enmulation
浏览器模拟 所有Internet Vuser Header包含一个标识将被模拟的浏览器类型(或无线工具包)的User Agent header.例如User-Agent: Mozilla/3.01Go ...
- SQL 根据IF判断,SET字段值
当INVOICE_STATUS值为1时,赋值为2,否者赋值为原来的值 UPDATE T_INVOICE SET DOWNLOAD_COUNT = DOWNLOAD_COUNT + 1, INVOICE ...
- mybatis中collection和association的作用以及用法
deptDaoMapper.xml 部门对应员工(1对多的关系) <resultMap type="com.hw.entity.Dept" id="deptinfo ...