JAVA 类名.class是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 类名.class是啥意思?相关的知识,希望对你有一定的参考价值。

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 - 百度百科

参考技术A

ConfMgr.class是获取ConfMgr的class对象。

Class对象是用来创建类的常规对象的,当我们编译一个Java类就会同时产生一个与该类相对应的Class对象(保存在.class文件中,即.java文件编译后的.class文件中)。

该Class对象中保存了创建对象所需的所有信息。

扩展资料

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

参考资料:百度百科-JAVA

参考技术B

实际上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应用程序、分布式系统和嵌入式系统应用程序等。

参考资料百度百科_Java

参考技术C

.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类

参考技术D ConfMgr.class是获取ConfMgr的class对象。
下面给你说几种获取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()本回答被提问者采纳

模板作为类名的后缀是啥意思?

【中文标题】模板作为类名的后缀是啥意思?【英文标题】:What does template mean as a suffix of a class name?模板作为类名的后缀是什么意思? 【发布时间】:2016-07-17 21:06:18 【问题描述】:

在许多程序中,都存在一个后缀为 Template 的 Class。 比如org.springframework.web.client.RestTemplate

模板作为类名后缀是什么意思? 是the Template Method pattern的意思吗?

你知道原因吗?

祝你有美好的一天。

【问题讨论】:

表示类名以Template结尾;不多不少。 这意味着开发人员希望它意味着什么。我会假设它是某种模板,但就像我说的,这完全取决于创建该类的开发人员如何定义模板。据我们所知,它可能是一个名称不佳的类。 【参考方案1】:

不,“org.springframework.web.client.RestTemplate”不是“模板方法模式”的正确示例。它之所以被命名,是因为它与 spring 中的其他类相似,后缀为模板,如“JDBCTemplate”、“JMSTemplate”。 这些类 两个类,为执行复杂任务提供了一种具有默认行为的简化方法。 虽然 JDBCTemplate 选项供用户扩展 insert 和 update 等方法,但 Resttemplate 不符合它。

【讨论】:

以上是关于JAVA 类名.class是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

.class 在 Java 中是啥意思?

Java的class是什么意思?

模板作为类名的后缀是啥意思?

JAVA中.class文件是啥意思?有啥用吗?

Java public class connDB 是啥意思

class文件是啥意思