欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java中java.lang.Class的初步学习

发布时间:2025/3/15 java 23 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java中java.lang.Class的初步学习 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

 

 

理论

实例


 

理论

Java中有个java.lang.Class,是java虚拟机用的。把每一个类当成一个对象,放到java虚拟机里面,这是C/C++中没有的。

类是对象的抽象,类是java.lang.Class类抽象的抽象。

java.lang.Class的实例是Java中开发者创建的类,对象是开发者创建类的实例。

 

这里个人觉得是因为Java跑起来需要Java虚拟机,所以在C/C++的基础上再套一层。

 

实例

源码如下:‘

package my;class Foo{public void print() {System.out.println("Foo print");} }public class ClassDemo {public static void main(String[] args) {Foo foo1 = new Foo();//方法一@SuppressWarnings("rawtypes")Class c1 = Foo.class;//方法二@SuppressWarnings("rawtypes")Class c2 = foo1.getClass();//方法三@SuppressWarnings("rawtypes")Class c3 = null;try {c3 = Class.forName("my.Foo");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//创建对象try {Foo foo = (Foo)c1.newInstance();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(c2 == c3);}}

运行截图如下:

这里有三种方式得到Class类

方式一:任何一个类都有一个隐含的静态成员变量Class

方式二:以及知道该类对象通过getClass方法

方式三:通过Class中的forName创建实例

 

这里可以通过类类型创建该类的实例。如上面的

Foo foo = (Foo)c1.newInstance();

这里需要无参的构造函数

 

新人创作打卡挑战赛发博客就能抽奖!定制产品红包拿不停!

总结

以上是生活随笔为你收集整理的Java中java.lang.Class的初步学习的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。