8.10 Class类

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 stub
		try {
			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 stub
Date 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.gcal
private static sun.util.calendar.BaseCalendar java.util.Date.jcal
private transient long java.util.Date.fastTime
private transient sun.util.calendar.BaseCalendar$Date java.util.Date.cdate
private static int java.util.Date.defaultCenturyStart
private static final long java.util.Date.serialVersionUID
private static final java.lang.String[] java.util.Date.wtb
private 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.ClassNotFoundException
private void java.util.Date.writeObject(java.io.ObjectOutputStream) throws java.io.IOException
private 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Proteus 8.10的安装方法如下: 1. 首先,您可以从官方网站或可靠的软件下载网站下载Proteus 8.10的安装包。 2. 打开安装包后,按照安装向导的指示进行安装。您可以选择默认安装路径,然后点击"Next"继续安装。 3. 在安装过程中,您可能需要选择所需的组件和插件,根据您的需要进行选择,并继续点击"Next"进行安装。 4. 安装完成后,您可以选择启动Proteus 8.10,或者稍后手动启动。 5. 如果您在安装过程中遇到任何问题,可以参考官方的安装指南或者在相关的技术论坛上寻求帮助。 请注意,Proteus 8.10是较稳定的版本,并且在Windows 10上表现良好。与Proteus 7.8不同,它不会容易闪退卡死。因此,如果您正在使用Windows 10操作系统,强烈建议您使用Proteus 8.10版本以获得更好的稳定性和兼容性。引用、 提供了关于Proteus 7.8和Proteus 8.10的安装和使用的一些细节和建议,供您参考。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Proteus keil 仿真环境 使用 安装教程](https://blog.csdn.net/x1131230123/article/details/106951776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值