先来代码
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视频 的详细描述介绍
Object是Java编程中的基础类,所有类都直接或间接地继承了它,并从它继承了一些方法,如equals()、toString()和getClass()等。 首先,Object类是Java中的根源,它定义了所有Java类的通用行为,如Object类的toString...
主要包含Object类中的getClass()、hashCode()、equals()、toString()方法的使用和作用,还包含一个3D旋转模型,还包含几个常见的面试题的解析,可用作学生每周技术分享或者上台演讲,适用于大学计算机专业相关人士。
代码中包含的方法有如下 : 1. 创建一个Person实体类 2. 反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() ... 5.3 获取所有方法(包含Object的方法)
全量断言方法-Java版 /** * 校验结果的每一个值 * * @param exp * @param map */ private void checkEveryResultInfo(Map, Object> exp, Map, Object> map) { for (Map.Entry, Object> m : exp.entrySet()) {...
适合java初学者学习, 封装:就是把数据和...Class类:object类中的getclass方法返回class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。
本文实例讲述了javascript实现类似java中getClass()得到对象类名的方法。分享给大家供大家参考。具体如下: 在javascript中没有能够返回特定类型名的函数 如一个对象 console.log(obj); 得到的是[object ...
返回值是Object,也既是该方法的返回值。 4. 执行某个类的静态方法 public Object invokeStaticMethod(String className, String methodName, Object[] args) throws Exception { Class ownerClass = Class....
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object o = null; try { logger.info("method stats..." + method); o = method.invoke(delegate,args); ...
public void delete(Query query , Object obj , String collectionName){ mongoTemplate.remove(query, obj .getClass(), collectionName); } public boolean update(Query query , Update update , Object ...
Constructor类中方法newInstance(Object 实参);//可以创建任意访问权限的有参或者无参构造 3. 私有化方法、字段、构造方法都必须破坏封装才能使用: public void setAccessible(boolean flag) true表示...
创建返回代理类实例方法 Enhancer.create(object.getClass(), this); * (1.创建工具类,2.设置工具类的父类为被代理类 3.设计监听回调为当前this 4.return 创建代理类实例对象) * 3.实现接口方法(调用 method.
Java 开发所需json的jar包,项目对象转json格式, Map,Object> map=HashMap,Object>(); map.put("sex","man"); toJson(map);... return obj instanceof Collection || obj.getClass().isArray(); }
Java中有个Object 类,是所有Java 类的继承根源,其内声明了数个应该在所有Java 类中被改写的方法:hashCode、equals、clone、toString、getClass等。其中getClass返回一个Class 对象。Class对象十分特殊。他是...
//显示某对象的某方法和某属性 show(a,"show"); } //对未知类型的对象操作 public static void show(Object obj,String method_name)throws Exception{ Class c=obj.getClass(); Field field=c.getField...
private Map, Object> beans = new HashMap, Object>(); @SuppressWarnings("unchecked") public ClassPathXmlApplicationContext() throws Exception { SAXBuilder sb = new SAXBuilder(); Document doc = ...
System.out.println(request.getParameter(propertyName).getClass().getName()); Object value = request.getParameter(propertyName); PropertyDescriptor pd = new PropertyDescriptor(property...
enhancer.setSuperclass(this.target.getClass()); //回调 enhancer.setCallback(this); //创建代理对象 return enhancer.create(); } } package org.sg.sgg.mode.proxy.jdkProxy.trendProxy2; /** ...
1. 平时做的项目属于什么业务 2. Java Object类有哪些方法,分别作用 1.类构造器 2.registerNatives方法 3.getClass方
spring 个人笔记 ... Method m = o.getClass().getMethod(methodName, beanObject.getClass().getInterfaces()[0]); //使用反映机制,执行method方法,从而实现注入功能 m.invoke(o, beanObject); }