if (instance == null) {
synchronized (ConfMgr.class) {
if (instance == null)
instance = new ConfMgr(configFile);
}
}
如上,ConfMgr是这代码的中公开类,在这个类中有如上面这一小点代码,其中有的ConfMgr.class是什么意思的啊
ConfMgr.class是获取ConfMgr的class对象,类型类指的是代表一个类型的类,因为一切皆是对象,几种获取class对象的方法:
1,所有的引用数据类型(类-类型)的类名、基本数据类型都可以通过.class方式获取其 Class对象。
对于基本数据类型的封装类还可以通过.TYPE 的方式获取其 Class 对象,但要注意。TYPE 实际上获取的封装类对应的基本类型的 Class 对象的引用。
那么你可以判断出int.class==Integer.TYPE 返回 true,int.class==Integer.class 返回 false!通过这种方式不会初始化静态域,使用.class、.TYPE 的方式获取 Class对象叫做类的字面常量;
2,Class 的 forName(String name)传入一个类的完整类路径也可以获得 Class 对象。
由于使用的是字符串,必须强制转换才可以获取泛型的Class<T>的 Class对象,并且必须获取这个方法可能抛出的ClassNotFoundException异常。这种方法可以初始化静态域。
3,还可通过类的对象实例下的getClass()方法来获取Class对象,即 实例名getClass()
扩展资料
在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。
每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。
通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中。
通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。
参考资料:Java - 百度百科
ConfMgr.class是获取ConfMgr的class对象。
Class对象是用来创建类的常规对象的,当我们编译一个Java类就会同时产生一个与该类相对应的Class对象(保存在.class文件中,即.java文件编译后的.class文件中)。
该Class对象中保存了创建对象所需的所有信息。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
参考资料:百度百科-JAVA
本回答被网友采纳实际上java的每个类被编译成.class文件的时候,java虚拟机(叫jvm)会自动为这个类生成一个类对象,这个对象保存了这个类的所有信息(成员变量,方法,构造器等),以后这个类要想实例化(也就是创建类的实例或创建类的对象)那么都要以这个class对象为蓝图(或模版)来创建这个类的实例。
例如 class<?> c=Class.forName("com.pojo.User"); c就是User的类对象,而 User u=new User();这个u就是以c为模版创建的,其实就相当于u=c.newInstance(); 这个在java的反射里面讲的比较清楚。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
.class文件是java文件编译之后的文件。
A a = new A();
if(a.getClass()==A.class) {
System.out.println("equal");
} else {
System.out.println("unequal");
}
可以看到,对象a是A的一个实例,A是某一个类,在if语句中使用a.getClass()返回的结果正是类A的类型类,在Java中表示一个特定类型的类型类可以用“类型.class”的方式获得,因为a.getClass()获得是A的类型类,也就是A.class,因此上面的代码执行的结果就是打印出“equal”。
拓展资料:
Java反射
所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。严格地说,反射并非编程语言的特性,因为在任何一种语言都可以实现反射机制,但是如果编程语言本身支持反射,那么反射的实现就会方便很多。
参考资料:java class类
初学java,弱弱的问一下,类名.class是啥意思
类名.class是一个关联于类的对象。对于每一个类型都对应一个Class对象(基本类型除外)Class对象描述的是类的信息,包括静态属性、方法等,它是在类加载的时候生成的。
java 类名.class代表什么意思
.java表示未编译的类 .class表示编译完成的类
编写java程序时,写的 类名.class 是什么意思
xxx.class 是Class类型的对象!例如 Class c = String.class;但是请注意 Class 和 class 是两个不同的概念!
JAVA 类名.class是什么意思?
在Java中,`.class`后缀用于表示类名的Class对象。这有助于我们获取类的类型信息,并在编程中进行操作。以下是获取Class对象的几种常见方法:1. 对于引用数据类型(如类)和基本数据类型,可以直接使用`.class`,如`ConfMgr.class`。这种方式获取的是Class对象,不会初始化静态域,我们称之为类的字面...
初学java,弱弱的问一下,类名.class是啥意思
ConfMgr.class是获取ConfMgr的class对象。下面给你说几种获取class对象的方法:Class对象的获取 1.所有的引用数据类型(类-类型)的类名、基本数据类型都可以通过.class方式获取其 Class对象(对于基本数据类型的封装类还可以通过.TYPE 的方式获取其 Class 对象,但要注意。TYPE 实际上获取的封装类对应的...
.class是什么文件啊?
class文件全名称为Java class文件,主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式的服务。该文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和...
java中class是什么意思?
Class是一种编程语言中的关键字,用于定义面向对象编程中的类,表达数据和与这些数据相关的方法的集合,是面向对象编程的基础。class是一种编程语言中的关键字,通常用于定义类(class)。类是面向对象程序设计中的类定义,它是一种用户自定义数据类型,是一组数据和与这些数据相关的方法的集合。类是编写...
java函数传入参数.class怎么回事
.class就是调用对象的本身的类名啊。例如:A aa = new A();a.class;\/\/这个就是A,一般用到.class的地方都是需要用反射机制强制转换类型用的。这些一般都只有在写框架的时候才用得到,日常项目中不会用到的,都封装在后台了,所以楼主没必要仔细研究他是做什么用的。
初学java,弱弱的问一下,类名.class是啥意思
.class文件是由Java编译器编译出来的二进制码文件,只有Java语言能识别!而.java的文件是Java的源文件,是不能够被Java运行的。
java中的某个类的 .class代表什么?
.class就是.java类文件编译之后的文件啊~~我们平常所用的jar包就是.class文件的集合...跑一个项目的话只要把.class文件达成的.jar包部署到相应的服务器上,你的程序就可以跑了~~换句话说:.java文件是由我们来创造的物品,而.class文件就是把这个物品展现给外界的方式!