广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中class和Class的区别示例详解
  • 246
分享到

Java中class和Class的区别示例详解

2024-04-02 19:04:59 246人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一.class与Class区别二.Class介绍三.如何得到Class对象1.通过getClass()方法获取到Class对象2.通过forName()方法获取到Class对象3

一.class与Class区别

class是Java中的关键字,如public class Xxx 或者 class Xxx ,在声明Java类时使用。 而Class是一个类。 我们通常认为类是对象的抽象和集合,Class就相当于是对类的抽象和集合。 也可以认为对象是类的实例,类是Class的实例。

二.Class介绍

Class是一个类。如下图,它在java.lang包中。

它的构造函数是private属性,所以我们不能直接new一个Class对象出来,如下图注释段所说: “私有构造函数。只有Java虚拟机创建类对象。不使用此构造函数,并阻止生成默认构造函数。”

三.如何得到Class对象

1.通过getClass()方法获取到Class对象

getClass()方法是Object类的一部分,如下图:

如果我们已经创建了某个类型的对象,那么我们可以通过getClass()方法来获取该类型的Class的对象:

package Task;
import org.junit.Test;
public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
//        //forName方法:参数为其类的路径
//        Class a = Class.forName("Task.Try1");
//        System.out.println(a);
        //通过对象得到类
        Try1 try1 = new Try1();
        Class b = try1.getClass();
        System.out.println(b);
    }
}

class Try1{
}

测试运行结果:

2.通过forName()方法获取到Class对象

Class.forName方法是Class类的一个静态方法,如下图:

所以可以直接通过Class.forName("类的路径")获取Class对象:

package Task;
import org.junit.Test;
public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
        //forName方法:参数为其类的路径
        Class a = Class.forName("Task.Try1");
        System.out.println(a);
    }
}

class Try1{
}

测试运行截图:

3.类.class获得Class对象(类字面常量)

package Task;
import org.junit.Test;
public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
//        //forName方法:参数为其类的路径
//        Class a = Class.forName("Task.Try1");
//        System.out.println(a);

//        //通过对象得到类
//        Try1 try1 = new Try1();
//        Class b = try1.getClass();
//        System.out.println(b);

        //类字面常量
        Class c = Try1.class;
        System.out.println(c);
    }
}

class Try1{
}

测试运行结果:

四.Class常用方法

package Task;
import org.junit.Test;
public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
//        //forName方法:参数为其类的路径
//        Class a = Class.forName("Task.Try1");
//        System.out.println(a);

        //通过对象得到类
        Try1 try1 = new Try1();
        Class b = try1.getClass();
        System.out.println(b);

//        //类字面常量
//        Class c = Try1.class;
//        System.out.println(c);
        //isInterface方法,判断是否为接口
        System.out.println(b.isInterface());
        //isArray方法,判断是否为数组
        System.out.println(b.isArray());
        //isPrimitive方法,判断是否是基本类型,例如int是基本类型,Integer为包装类
        System.out.println(b.isPrimitive());
        //isAnnotation方法,判断是否为注解,注解如常见的重写注解@Override,我们所用的单元测试@Test注解
        System.out.println(b.isAnnotation());
        //isInstance方法参数是一个对象,判断该对象try1对应的类Try1是否是b的对象
        System.out.println(b.isInstance(try1));
        //getClassLoader方法,获取类加载器
        System.out.println(b.getClassLoader());
        //getSuperclass方法,获取父类信息
        System.out.println(b.getSuperclass());
        //getGenericSuperclass方法,也是获取父类信息
        System.out.println(b.getGenericSuperclass());
        //getComponentType方法,如果b的类型是数组,则获取数组里元素的类型
        System.out.println(b.getComponentType());
        //getDeclaredClasses方法,获取b继承于哪个类
        System.out.println(b.getDeclaredClasses());


        //几个获取name的方法:
        //getName方法
        System.out.println(b.getName());
        //getTypeName方法
        System.out.println(b.getTypeName());
        //getCanonicalName方法
        System.out.println(b.getCanonicalName());
        //getSimpleName方法
        System.out.println(b.getSimpleName());

//        以下还有一些方法只列举出来
//        getTypeParameters方法,获取泛型类中的泛型参数数组
//        getClasses方法,获取Class对象中public修饰的内部类
//        getDeclaredClasses方法,获取Class对象中的内部类,继承成员不包含在内
//        getConstructors方法,获取public修饰的构造函数
//        getConstructor方法,查找对应的构造函数
//        getDeclaredConstructors方法,获取Class对象中的构造函数
    }
}

class Try1 {
}

输出截图如下:

总结

到此这篇关于Java中class和Class区别的文章就介绍到这了,更多相关Java class和Class区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中class和Class的区别示例详解

本文链接: https://www.lsjlt.com/news/144942.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中class和Class的区别示例详解
    目录一.class与Class区别二.Class介绍三.如何得到Class对象1.通过getClass()方法获取到Class对象2.通过forName()方法获取到Class对象3...
    99+
    2022-11-13
  • C++中的struct和class的区别详解
    目录1. C++的struct和class的区别1.1 成员访问范围的差异structclass1.1 继承关系访问范围的差异struct : structstruct : clas...
    99+
    2022-11-13
    C++中的struct C++中的class struct和class的区别
  • C#中struct与class的区别详解
    目录1.最大的区别2.struct成员无法被声明为protected。3.struct是隐式的sealed类4.struct中无法重载默认构造函数5.关于对象的初始化6.结构体没有析...
    99+
    2022-11-13
  • java中class实例的示例分析
    这篇文章将为大家详细讲解有关java中class实例的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、结构说明(1)class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类(2...
    99+
    2023-06-15
  • Java 中 Class Path 和 Package的使用详解
    目录一、 类路径 (class path)二、 包 (package)三、 jar 文件一、 类路径 (class path) 当你满怀着希望安装好了 java, 然后兴冲冲地写了个...
    99+
    2022-11-13
    Java 中的Class Path Java 中的Package
  • Java中通过Class类获取Class对象的方法详解
    前言本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:阅读API的Class类得知,Class 没有公共构造方法。Class 对象是在加载类时由 J...
    99+
    2023-05-31
    java class类 class对象
  • JavaScript和TypeScript中class的示例分析
    这篇文章主要介绍了JavaScript和TypeScript中class的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、静态成员...
    99+
    2022-10-19
  • C++详细讲解函数调用与Struct和CLass的区别
    目录一、结构回顾1、传值调用2、引用调用3、指针调用二、public和private权限修饰符三、类简介四、类的组织一、结构回顾 结构:自定义的数据类型,不管C++/C结构都用Str...
    99+
    2022-11-13
  • c++中class和struct的区别是什么
    在C++中,class和struct都用于定义自定义的数据类型,但它们之间有几个区别。1. 默认的访问修饰符:在class中,默认的...
    99+
    2023-09-15
    c++
  • Class中Extends和Implements属性的区别是什么
    这篇文章给大家介绍Class中Extends和Implements属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<span >var Animal = ne...
    99+
    2022-10-19
  • CSS中id和class之间的区别是什么
    这篇文章给大家分享的是有关CSS中id和class之间的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   id和class之间的区别   id具有唯一性,clas...
    99+
    2022-10-19
  • BeanFactory和FactoryBean的区别示例详解
    目录正文BeanFactory和FactoryBean的区别1、BeanFactory2、FactoryBean正文 这个之前经常会遇到别人问 但是一直不是很能理解 工作开发中我对于...
    99+
    2022-11-13
    BeanFactory FactoryBean区别 BeanFactory FactoryBean
  • python中class类与方法的用法实例详解
    目录类和方法的概念和实例1.python类:class2.类的构造方法__init__()3.类中方法的参数self4.继承5.方法重写类的特殊属性与方法类的私有属性总结因为一直不太...
    99+
    2022-11-10
  • HTML中id和class属性之间的区别有哪些
    这篇文章主要为大家展示了HTML中id和class属性之间的区别有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“HTML中id和...
    99+
    2022-10-19
  • vue.js中methods watch和computed的区别示例详解
    目录前言介绍一、作用机制上二、从性质上三、watch和computed的对比四、methods不处理数据逻辑关系,只提供可调用的函数五、从功能的互补上看待methods,watch和...
    99+
    2022-11-12
  • java中 String和StringBuffer的区别实例详解
    java中 String和StringBuffer的区别实例详解String:           是对象不是原始类型.  &nb...
    99+
    2023-05-31
    string stringbuffer buf
  • js中class类、super和extends关键词的示例分析
    小编给大家分享一下js中class类、super和extends关键词的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!正文1.es6之前创建对象先来看下e...
    99+
    2023-06-20
  • Mongoose中document与object的区别示例详解
    前言 本文主要给大家总结介绍了关于Mongoose中document与object区别的相关内容,分享出来供大家参考学习,其实这个问题其实是mongoose非常常见的问题,经常有很多以前没遇到这个问题的人都...
    99+
    2022-06-04
    示例 详解 区别
  • css的class属性中只有词important和warning的示例分析
    这篇文章给大家分享的是有关css的class属性中只有词important和warning的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 通过把两个类选择器链接在一同...
    99+
    2022-10-19
  • Java中equals和==的区别详解
    目录1.java中的数据类型,可分为两类: 2.再稍微改动一下程序,会有更奇怪的发现: 3. 字符串缓冲池 4.再次更改程序: 总结1.java中的数据类型,可分为两类: 1.基本...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作