`

instance、Class、Object

阅读更多
一、实例和类

所有实例都有所属的类;所有类都是Class类的实例

比如
public static void main(String[] args) {

		String s = "abc";
		System.out.println(s.getClass());
		System.out.println(s.getClass().getClass());

	}

输出是:
class java.lang.String
class java.lang.Class

在这个例子中,"abc"是String类的一个实例(s是这个实例的引用);而String类是Class类的一个实例

在任何实例上连续调用2次getClass()方法,得到的都是Class类。Class类比较特别,它是自身的一个实例

要获取一个实例所属的类,有2种办法,一种是在实例上调用getClass()方法,另一种是直接用.class属性,比如
System.out.println(String.class);


Class类定义了getClassLoader()和newInstance()方法,分别可以获取加载该类的ClassLoader,以及创建该类的一个实例

二、继承体系与Object

前面说的是“实例”和“类”的关系,不涉及到继承(extends关键字)

Object是所有类的基类,所有的类都隐性地extends Object,所以Object类上定义的所有方法,对于所有类都是可见的

Object类,也是Class类的一个实例
Object o = new Object();

在这里,new Object()在堆上创建了一个Object类的实例;而Object类本身,是Class类的一个实例

但是,Class也是extends Object的,所以也有在Object上定义的方法,如toString()、equals()等
分享到:
评论

相关推荐

    软件需求分析英文课件

    into an object object class object would sound a bit strange) Instance object an instance of a class object, instance, but not object instance Class object an instantiated class (everything...

    3D-RCNN: Instance-level 3D Object Reconstruction via Render-and-Compare

    the full 3D shape and pose of all object instances in the image. Our method produces a compact 3D representation of the scene, which can be readily used for applications like autonomous driving. Many ...

    重温 Thinking in Java 5 - The Class object

    《Thinking in Java》是Bruce Eckel的经典之作,第五版(The Class object)主要探讨的是类对象(Class object)这一核心概念。在Java编程语言中,类对象是与类相关的特殊对象,它提供了对类信息的访问,包括类的元...

    C 程序设计教学课件:Chapter 3 class and object.ppt

    Static member functions, also known as class methods, can be called without creating an instance of the class. They don't have access to non-static data members directly. Constants are used to ...

    Classfor的用法

    Object obj = clazz.newInstance(); System.out.println("Created instance: " + obj); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { e.printStackTrace(); } ``` ...

    Syahrul_classobject

    标题“Syahrul_classobject”和描述“Tugas_Classobject”暗示了我们即将探讨的是关于Python编程中的类(Class)对象。在Python中,类是一种自定义数据类型,它允许我们封装数据和功能,实现面向对象编程的概念。...

    又小又快又无依赖Json序列化与反序列化

    Object obj=JsonUtil.instance().json2Obj(json,Object.class) Object[]objs=JsonUtil.instance().json2Obj(json,Object[].class); //泛型 DatagridReturn<Object> dgr=JsonUtil.instance().json2Obj(json...

    JAVA入门-Object类、Class类

    在Java编程语言中,Object类和Class类是两个非常基础且重要的概念,它们构成了Java类层次结构的基础。让我们深入了解一下这两个关键概念。 首先,我们来谈谈Object类。Object类是所有Java类的顶级父类,无论是...

    jvm 加载class文件

    TestClass object = (TestClass) c.newInstance(); object.method(); } catch (Exception e) { e.printStackTrace(); } } } ``` 这里使用了`Class.forName("TestClass")`方法显式地加载`TestClass`类,并通过...

    Map 转为Object Object 转为 Map java jdk1.4以上

    Object bean = beanClass.newInstance(); for (Map.Entry, Object> entry : map.entrySet()) { Field field = beanClass.getDeclaredField(entry.getKey()); field.setAccessible(true); field.set(bean, entry...

    newInstance()方法和new关键字

    Object obj = clazz.newInstance(); ``` - **new关键字**适用于以下情况: - 需要显式指定构造函数参数时。 - 类的实例化逻辑简单且明确。 - 示例代码: ```java Example obj = new Example(); ``` #### 4...

    Objective-C头文件导出工具class-dump

    -a show instance variable offsets -A show implementation addresses --arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64) -C <regex> only display classes ...

    JAVA反射机制-Class类-Class对象的获取.pdf

    Object obj = clazz.newInstance(); System.out.println(obj.getClass().getName()); // 输出:org.whatisjava.reflect.Foo } catch (ClassNotFoundException | InstantiationException | IllegalAccessException...

    对Python中class和instance以及self的用法详解

    在Python编程语言中,面向对象编程是一种重要的编程范式,其中,类(class)和实例(instance)是核心概念,而self则是用于引用实例自身的特殊参数。本文将深入讲解Python中class、instance以及self的用法。 一、...

    JavaSE062Class类、Method类及Field类的使用方式深度探析.doc

    Object obj = cons.newInstance(new Object[]{"lisi", 25}); System.out.println(obj); } } ``` 在上面的代码中,我们首先获取了Customer类的Class对象,然后通过Class对象的getConstructor()方法获取了构造方法...

    Object-Oriented Analysis and Design 第六章

    Object Oriented Analysis and Design 12Singleton - MotivationA Singleton pattern ensures that a class has only one instance and provides a global point of access to that instance. This is beneficial ...

    Learning Rich Features from RGB-D Images for Object Detection and Segmentation

    existing superpixel classication framework for semantic scene segmenta- tion and achieve a 24% relative improvement over current state-of-the-art for the object categories that we study.We believe ...

    反射+Class+获取和操作+入门

    然后,可以使用`Constructor.newInstance(Object... args)`创建新实例。 2. 获取方法:`getMethods()`返回所有公共方法,`getDeclaredMethods()`返回包括私有的所有方法。调用`Method.invoke(Object obj, Object......

    java.lang.Class类

    1. 调用Object类的getClass()方法来得到Class对象。 2. 使用Class类的静态forName()方法获得与字符串对应的Class对象。 3. 获取Class类型对象的第三个方法非常简单。如果T是一个Java类型,那么T.class就代表了匹配的...

    详解Ruby中的instance_eval方法及其与class_eval的对比

    这个BasicObject#instance_eval有点类似JS中的bind方法,不同的时,bind是将this传入到对象中,而instance_eval则是将代码块(上下文探针Context Probe)传入到指定的对象中,一个是传对象,一个是传执行体。...

Global site tag (gtag.js) - Google Analytics