武汉java培训
达内武汉中心

13437121710

热门课程

武汉java培训:Class类的使用

  • 时间:2019-01-31 17:27
  • 发布:武汉java培训机构
  • 来源:互联网

1.万事万物皆对象,(当然,基本数据类型,静态成员不是面向对象(属于类的)),所以我们创建的每一个类也都是对象,即类本身是java.lang.Class类的实例对象,但是这些对象都不需要new出来,因为java.lang.Class类的构造方法是私有的

<a style='color:blue' href='http://wh.java.tedu.cn'>武汉java培训</a>机构

2.任何一个类都是Class类的实例对象,这个实例对象有三种表示方式:(我们新建一个Student类)

Class c1 = Student.class;//实际告诉我们任何一个类都有一个隐含的静态成员变量class(知道类名时用)

Class c2 = stu.getClass();//已知该类的对象通过getClass方法(知道对象时用)

Class c3 = Class.forName("类的全名");//会有一个ClassNotFoundException异常

官网解释说:c1,c2表示了Student类的类类型()class type),万事万物皆对象,类也是对象,是Class类的实例对象,这个对象我们成为该类的类类型(有点乱,但是慢慢捋一下还是能理解的)

这里有一点值得注意,当我们执行System.out.println(c1==c2);语句,结果返回的是true,这是为什么呢?原因是不管c1还是c2都代表了Student类的类类型,一个类可能是Class类的一个实例对象。

我们完全可以通过类的类类型创建该类的对象实例,即通过c1或c2创建Student的实例。

Student stu = (Student)c1.newInstance();//前提是必须要有无参的构造方法,因为该语句会去调用其无参构造方法。该语句会抛出异常。

本篇文章是由武汉java培训机构为您呈现,希望给您带来更多更好的文章。

马上预约七天免费试听课

姓名:

电话:

上一篇:武汉java培训之阻塞队列的问题
下一篇:武汉java培训:这几点面试工作经验,相信你能用上

建议你从Java哪个部分开始学?

武汉Java培训:控制线程池的并发数

推荐Java学习书籍之三

选择城市和中心
贵州省

广西省

海南省

有位老师想和您聊一聊