8.10 Class类
来源:互联网 发布:利达消防主机编程软件 编辑:程序博客网 时间:2024/06/06 10:55
8.10 Class类
Class类的实例可以帮助程序创建其他类的实例或取得其他类的对象内部信息
8.10.1 使用Class实例化一个对象
(1)使用Class的类方法可以得到一个和某类(参数 className 指定的类)相关的Class对象
public static Class forName(String className)throw ClassNotFoundException上述方法返回一个和参数className指定的类相关的Class对象。如果类在某个包中,className必须要带包名(例子:className=“Java.util.Date”)
(2)步骤(1)中获得的Class对象调用
public Object newInstance()throwClassNotFoundException,IllegalAccessException
就可以得到一个className类对象
/* * 使用Example8_22_Rect类以及java.util包中Date类的对象 */public class Example8_22 {public static void main(String[] args) {// TODO Auto-generated method stubtry {Class class1 = Class.forName("Example8_22_Rect");Example8_22_Rect rect = (Example8_22_Rect) class1.newInstance();rect.width = 100;rect.height = 100;System.out.println("面积:" + rect.getArea());class1 = Class.forName("java.util.Date");Date date = (Date) class1.newInstance();System.out.println(date.toString());} catch (Exception e) {System.out.println(e.toString());}}}
8.10.2 获取类的有关信息
Class对象经常调用的方法:
(1)String getName():返回类的名字
(2)Constructor[ ] getDeclaredConstructors():返回类的全部构造方法
(3)Field[ ] getDeclaredFields() :返回类的全部成员变量
(4)Method [ ] getDeclaredMethods() : 返回类的全部方法
/* * 使用相应的Class对象列出了Java.util.Data全部成员变量和方法的名字 */public class Example8_23 {public static void main(String[] args) {// TODO Auto-generated method stubDate date=new Date();Class class1=date.getClass();String cString=class1.getName();Constructor[] constructors=class1.getDeclaredConstructors();Field[] fields =class1.getDeclaredFields();Method [] methods=class1.getDeclaredMethods();System.out.println("类的名字:"+cString);System.out.println("类中有如下的成员变量:");for (int i = 0; i < fields.length; i++) {System.out.println(fields[i].toString());}System.out.println("类中有如下的方法:");for (int i = 0; i < methods.length; i++) {System.out.println(methods[i].toString());}System.out.println("类中有如下的构造方法:");for (int i = 0; i < constructors.length; i++) {System.out.println(constructors[i].toString());}}}/*类的名字:java.util.Date类中有如下的成员变量:private static final sun.util.calendar.BaseCalendar java.util.Date.gcalprivate static sun.util.calendar.BaseCalendar java.util.Date.jcalprivate transient long java.util.Date.fastTimeprivate transient sun.util.calendar.BaseCalendar$Date java.util.Date.cdateprivate static int java.util.Date.defaultCenturyStartprivate static final long java.util.Date.serialVersionUIDprivate static final java.lang.String[] java.util.Date.wtbprivate static final int[] java.util.Date.ttb类中有如下的方法:public boolean java.util.Date.equals(java.lang.Object)public java.lang.String java.util.Date.toString()public int java.util.Date.hashCode()public java.lang.Object java.util.Date.clone()public int java.util.Date.compareTo(java.util.Date)public int java.util.Date.compareTo(java.lang.Object)private void java.util.Date.readObject(java.io.ObjectInputStream) throws java.io.IOException,java.lang.ClassNotFoundExceptionprivate void java.util.Date.writeObject(java.io.ObjectOutputStream) throws java.io.IOExceptionprivate final sun.util.calendar.BaseCalendar$Date java.util.Date.normalize(sun.util.calendar.BaseCalendar$Date)private final sun.util.calendar.BaseCalendar$Date java.util.Date.normalize()public static long java.util.Date.parse(java.lang.String)public boolean java.util.Date.before(java.util.Date)public boolean java.util.Date.after(java.util.Date)public void java.util.Date.setTime(long)public long java.util.Date.getTime()public static java.util.Date java.util.Date.from(java.time.Instant)public int java.util.Date.getDate()public static long java.util.Date.UTC(int,int,int,int,int,int)public int java.util.Date.getYear()public void java.util.Date.setYear(int)public int java.util.Date.getMonth()public void java.util.Date.setMonth(int)public void java.util.Date.setDate(int)public int java.util.Date.getDay()public int java.util.Date.getHours()public void java.util.Date.setHours(int)public int java.util.Date.getMinutes()public void java.util.Date.setMinutes(int)public int java.util.Date.getSeconds()public void java.util.Date.setSeconds(int)private final long java.util.Date.getTimeImpl()static final long java.util.Date.getMillisOf(java.util.Date)private static final java.lang.StringBuilder java.util.Date.convertToAbbr(java.lang.StringBuilder,java.lang.String)public java.lang.String java.util.Date.toLocaleString()public java.lang.String java.util.Date.toGMTString()public int java.util.Date.getTimezoneOffset()private final sun.util.calendar.BaseCalendar$Date java.util.Date.getCalendarDate()private static final sun.util.calendar.BaseCalendar java.util.Date.getCalendarSystem(int)private static final sun.util.calendar.BaseCalendar java.util.Date.getCalendarSystem(long)private static final sun.util.calendar.BaseCalendar java.util.Date.getCalendarSystem(sun.util.calendar.BaseCalendar$Date)private static final synchronized sun.util.calendar.BaseCalendar java.util.Date.getJulianCalendar()public java.time.Instant java.util.Date.toInstant()类中有如下的构造方法:public java.util.Date(java.lang.String)public java.util.Date(int,int,int,int,int,int)public java.util.Date(int,int,int,int,int)public java.util.Date()public java.util.Date(long)public java.util.Date(int,int,int)*/
阅读全文
0 0
- 8.10 Class类
- Class类
- Class(类)
- Class类
- 类(Class)
- Class类
- class类
- Class类
- Class类
- Class类
- class 类
- 类 Class
- Class类
- class类
- Class类
- 类.class
- 类(class)
- Class类
- 一个咸鱼准备翻身——还是咸鱼
- 【Dubbo】windows下Dubbo安装及相关配置
- 超简单将Centos的yum源更换为国内的阿里云源
- HTML(十四)
- vidi电子产品缺陷检测软件外观检测自学习人工智能软件
- 8.10 Class类
- stm32 定时器
- 微信小程序获取当前所在城市
- LaTeX 入门文档
- Spring Boot 入门
- 无聊
- 什么是CDN
- 接触 cocos creator 的感受
- servlet的@WebServlet注解