.class其实是在java运行时就加载进去的
getClass()是运行程序时动态加载的
下面以例子说明
首先建一个基类Baseclass
package classyongfa;
public class Baseclass {
private String height;
public String getHeight()
{
return height;
}
public void setHeight(String height)
{
this.height=height;
}
下面是继承Baseclass类Extendclass
package classyongfa;
public class Extendclass extends Baseclass {
private String width;
public String getWidth()
{
return width;
}
public void setWidth(String width)
{
this.width=width;
}
public static void main(String[] arg0)
{
Baseclass baseclass1=new Extendclass();
Baseclass baseclass2=new Baseclass();
System.out.println(baseclass1.getClass().getSimpleName());//实际运行的是继承类Extendclass
System.out.println(baseclass2.getClass().getSimpleName());//实际运行的是Baseclass
System.out.println(Baseclass.class.getSimpleName());//加载时类名
System.out.println(Extendclass.class.getSimpleName());//加载时类名
}
结果是
Extendclass
Baseclass
Baseclass
Extendclass
转载:http://blog.csdn.net/xey8501/archive/2007/10/11/1819756.aspx
分享到:
相关推荐
Java.lang.Class类 Java.lang.Class类是Java语言中一个非常重要的类,它封装了对象和接口的运行时状态。当Java程序在运行时,Java虚拟机(JVM)会对所有对象进行类型标识,这项信息记录了每个对象所属的类。Class类...
在Java编程语言中,"class literal"、"instance.getClass()" 和 "Class.forName(String className)" 是三个与类加载和类型查询紧密相关的概念。了解这些概念对于深入理解Java运行时的类加载机制至关重要。 首先,让...
Java 反射机制中getClass()和.class的使用方法示例 本文主要介绍了 Java 反射机制中getClass()和.class的使用方法,并结合实例形式分析了 Java 类反射机制的相关操作技巧。 一、获取类的反射 在 Java 中,可以...
Java泛型的用法及T.class的获取过程解析 Java泛型是Java编程语言中的一种重要特性,它允许开发者在编写代码时指定类型参数,从而提高代码的灵活性和可读性。本文将详细介绍Java泛型的用法 及T.class的获取过程解析...
Java 中的 getClass() 方法是 Object 类的一个方法,其原型为 `public final Class<?> getClass()`, 返回值为当前运行时类的 Class 对象。这个方法可以用来获取当前类的 Class 对象,从而可以进行反射操作。 在 ...
每当一个类或者接口被加载到JVM中时,就会创建一个与之关联的`java.lang.Class`对象。通过这个`Class`对象,我们可以访问被加载类的各种细节,比如字段、构造器、方法等。 #### 获取Class对象的方法 1. **通过对象...
Java 中类名.class, class.forName(), getClass() 的区别 Java 中有三种方式可以获取 Class 对象,即类名.class、class.forName() 和 getClass()。这些方法都可以获取 Class 对象,但是在获取 Class 对象的过程中,...
例如,`java.lang.Class`类提供了获取类信息的方法,`java.lang.reflect.Field`用于访问字段,`java.lang.reflect.Method`用于调用方法,而`java.lang.reflect.Constructor`则用于操作构造器。 获取类的三种方式:...
通过Class类可以获取Class对象,获取Class对象有三种方式:通过Object类的getClass()方法、通过类名.class获取Class对象、通过Class类中的forName()方法。每种方式都有其特点和应用场景,掌握这些方式可以帮助开发者...
每个类在内存中都有一个唯一的`Class`实例,可以通过`Class.forName()`方法获取,或者通过`Object.getClass()`方法从对象中获取。 - `getConstructors()`:返回类的所有公共构造函数。 - `getDeclaredConstructors...
int.class==Integer.class 返回false 通过这种方式不会初始化静态域,使用 .TYPE 的方式获取Class对象也是类的字面常量。 4. 对于引用数据类的引用(必须初始化),可以通过 Object 类继承的 getClass() 方法获取...
System.out.println(a.getClass()+" "+A.class); } } ``` 输出的结果为:class A class A 但是,两者之间也存在一定的差异。例如,在继承和多态的情况下,getClass和class方法的结果将会不同。例如: ``` class A...
<groupId>#this.getClass().forName('java.lang.Math').abs(62456782-11145231).lifecycle <artifactId>lifecycle-viewmodel <version>2.2.0 <classifier>sources <type>java-source </dependency>
- `Sample.class.getClass().getName()` 输出 `java.lang.Class`,这是 `Class` 类的全限定名。 ### 应用场景 1. **日志记录**:如上所述,`getSimpleName()` 在创建 Log Tag 时非常有用,便于追踪和定位问题。 2....
在Java编程中,`getClass().getResourceAsStream()`是一个非常实用的方法,用于从类路径(Classpath)中加载资源,如配置文件、图片、字体等。这个方法返回一个`InputStream`对象,可以通过它读取到资源文件的内容。...
1. **加载过程**:当一个新的Java类被编写后,JVM会帮助编译成`.class`文件,并存储在磁盘上。当程序运行时,如果需要使用该类,则JVM会检查该类是否已经被加载到内存中。如果没有,则会将`.class`文件加载到内存;...
Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...
- `java.lang.Class`:表示一个类的运行时信息。 - `java.lang.reflect.Method`:表示类的方法。 - `java.lang.reflect.Field`:表示类的字段。 - `java.lang.reflect.Constructor`:表示类的构造器。 #### 五、`...
`:直接使用类名与`.class`组合获取`Class`对象。 - `Class cl = s.getClass();`:通过对象的`getClass()`方法获取其对应的`Class`对象。 - `Class c = int.class;` 或 `Class c = Integer.TYPE;`:获取基本类型的...
Class.class.getClass().getResource("/").getPath() ``` 输出如 `/D:/TEST/WebRoot/WEB-INF/classes/pack/`。 2. **获取工程的路径**: ```java System.getProperty("user.dir") ``` 输出如 `D:\TEST`。 ...