先来代码
package test;
public class TestGetClass {
public static void main(String[] args) {
A a1 = new A();
Object o1 = new A();
System.out.println(a1.getClass().getSimpleName());
System.out.println(o1.getClass().getSimpleName());
System.out.println(o1.getClass().getSuperclass().getSimpleName());
}
}
class A {
}
结果贴出来:
A
A
Object
原因很简单,就是因为getClass()方法返回的是运行时的类名。一下是getClass()源码的部分注释:
The actual result type is {@code Class<? extends |X|>}
* where {@code |X|} is the erasure of the static type of the
* expression on which {@code getClass} is called.
分享到:
相关推荐
Object类 getClass 马克-to-win java视频 的详细描述介绍
6. **getClass()**: 返回对象的运行时类,即对象实际属于的类的`Class`对象,可以用来获取类的信息,如类名、构造器、方法等。 7. **notify()**: 唤醒一个等待在此对象监视器上的线程。线程通过调用`wait()`方法...
Object 类常用方法有 getClass()、hashCode()、toString()、equals()、finalize() 等。 getClass() 方法 getClass() 方法用于获取对象的实际类型。该方法返回了 Object 的 Class 对象,表示该对象的实际类型。应用...
但是,攻击者可以通过提交特殊的参数,例如"class",来访问Object的getClass方法,从而获取ClassLoader对象,并执行恶意代码。 三、漏洞利用 攻击者可以通过提交恶意参数,例如"class=xxx",来访问Object的...
Java 反射机制中getClass()和.class的使用方法示例 本文主要介绍了 Java 反射机制中getClass()和.class的使用方法,并结合实例形式分析了 Java 类反射机制的相关操作技巧。 一、获取类的反射 在 Java 中,可以...
#### 一、Object类常用方法 在Java中,`Object`类是最基础的类,所有其他类都直接或间接继承自它。因此了解并掌握`Object`类的方法对于深入理解Java编程至关重要。 1. **toString() 方法**: - **用途**:提供了...
- `toString()`方法是`Object`类中的一个关键方法,它的作用是返回对象的字符串表示。默认情况下,`toString()`方法返回的是类名加`@`后跟对象在内存中的哈希码的16进制表示。例如,`Person@3f99bd52`。 - 在实际...
主要包含Object类中的getClass()、hashCode()、equals()、toString()方法的使用和作用,还包含一个3D旋转模型,还包含几个常见的面试题的解析,可用作学生每周技术分享或者上台演讲,适用于大学计算机专业相关人士。
**1.2 Object类的方法** - **`public int hashCode()`**: - 该方法返回对象的哈希码值,通常用来支持数据结构如哈希表的操作。 - 哈希码值是由哈希算法计算得出的一个整数值,与对象的实际内存地址相关联但不等同...
这意味着每一个类都直接或间接地继承自`Object`类,并且所有的对象(包括数组)都实现了该类提供的方法。`Object`类位于`java.lang`包中,是Java语言中最基础的类之一。 #### 二、主要方法详解 ##### 1. `getClass...
这意味着所有Java类都自动继承了`Object`类中的方法和属性。 #### 关键方法 - `public String toString()`: 返回该对象的字符串表示。默认情况下,此方法返回的是对象的类名和哈希码的十六进制表示。然而,在实际...
2. **提供通用方法**:`Object` 类定义了一些非常重要的方法,如 `equals()`、`hashCode()` 和 `toString()`,这些方法在几乎所有 Java 类中都有应用。 3. **支持多态性**:通过继承 `Object` 类,Java 支持多态性,...
Java 中的 getClass() 方法是 Object 类的一个方法,其原型为 `public final Class<?> getClass()`, 返回值为当前运行时类的 Class 对象。这个方法可以用来获取当前类的 Class 对象,从而可以进行反射操作。 在 ...
代码中包含的方法有如下 : 1. 创建一个Person实体类 2. 反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() ... 5.3 获取所有方法(包含Object的方法)
`Object`类提供了基本的方法,这些方法是所有Java对象共有的。下面我们将详细探讨这些方法及其作用。 1. **构造器**: `Object`类有一个默认的无参构造器,它不做任何特别的操作。当你创建一个类的对象时,这个...
从上面的代码可以看出,instanceof 操作符判断对象是否是某个类或其子类的实例,而 getClass() 方法判断对象的实际类别。 四、重写 equals 方法 在 Java 中,equals 方法用于判断两个对象是否相等。默认情况下,...
它们的主要区别在于,getClass方法是在运行时才确定的,而class方法是在编译时就确定了。 例如,在下面的代码中: ``` class A{ public void func(){ }} public class Test { public static void main(String[] ...
2. **使用反射填充JavaBean**: 通过遍历Map的键值对,利用反射获取JavaBean的set方法,并设置相应的属性值。 ```java public static Object mapToObject(Map, Object> map, Class<?> beanClass) throws Exception {...
- `getClass()`:返回对象的Class对象,该对象包含有关对象的类的信息,如类名、方法等。 - `hashCode()`:返回对象的哈希码,用于哈希表(如HashMap)的快速查找。两个相等的对象应该返回相同的哈希码。 3. **...
4. **getClass()**: 这是一个final方法,返回运行时对象的实际类型,即返回一个Class对象,代表了运行时对象所属的类。通常用于获取对象的类信息。 5. **equals()**: 默认情况下,equals方法检查两个对象的引用是否...