Java 类名.class与类名.this 的区别

区别是:Class类只有私有的构造方法,不能使用new关键词来创建一个Class对象;只有JVM虚拟机可以创建一个类对象,且是在类加载的时候被调用的。类名.this一般用于内部类调用外部类的对象时使用,因为内部类使用this.调用的是内部类的域和方法。

Java 类名.class与类名.this 的区别-Worktile社区

类名.class

Class类只有私有的构造方法,所以不能使用new关键词来创建一个Class对象;只有JVM虚拟机可以创建一个类对象,且是在类加载的时候被调用的。

运行程序时,Java虚拟机(JVM)首先检查是否所要加载的类对应的Class对象是否已经加载。如果没有加载,JVM就会根据类名查找.class文件,并将其Class对象载入。

基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也都对应一个 Class 对象,和其名字相同的类对象名。

每个数组属于被映射为 Class 对象的一个类,所有具有相同类型和维数的数组都共享该 Class 对象。只不过数组对象的名字比较奇怪。

一般某个类的Class对象被载入内存,它就用来创建这个类的所有对象。

类名.this

类名.this一般用于内部类调用外部类的对象时使用,因为内部类使用this.调用的是内部类的域和方法,为了加以区别,所以使用类名.this来加以区分。

“类名.this”的语法在Java语言中叫做“qualified this”。 这个语法的主要用途是:在内部类的方法中,要指定某个嵌套层次的外围类的“this”引用时,使用“外围类名.this”语法。

在Foo.Bar类中的getFoo()方法中,如果直接写“this”的话所指的是这个Foo.Bar类的实例,而如果要指定外围的Foo类的this实例的话,这里就得写成Foo.this。

特别的,如果在上例的getFoo()方法中写Bar.this的话,作用就跟直接写this一样,指定的是当前的Foo.Bar类实例。

延伸阅读:

什么是Java?

Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的形式和感觉,但它要比C++语言更易于使用,而且在编程时彻底采用了一种以对象为导向的方式。

Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.8,最近版本为Java19。

文章标题:Java 类名.class与类名.this 的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38049

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月13日 下午10:51
下一篇 2023年2月13日 下午10:53

相关推荐

  • 需求管理中的数据驱动决策与实践

    数据驱动决策在需求管理中具有重要作用,它依托于大数据分析、市场趋势预测与用户反馈,确保需求决策的客观性与前瞻性。1、利用历史数据进行分析预测,可以发现产品需求的模式和趋势;2、通过实时数据监控,灵活调整产品开发优先级;3、结合用户反馈与行为数据,精细化需求分析,提升产品贴合用户实际需求。在众多环节中…

    2023年12月18日
    39400
  • 单位如何管理项目经理

    单位如何管理项目经理,关键是要确立明确的职责和目标、配备恰当的资源和培训、实施有效的监督和激励机制、建立透明的沟通流程和评估体系。确立明确的职责和目标是首要步骤,因为这将直接影响项目的成功与否,并能让项目经理清楚地知道自己的工作范围和预期成果。明确的职责也是制定其他管理措施的基础,因为只有了解了项目…

    2024年4月10日
    6200
  • 澳洲devops什么意思

    澳洲DevOps代表一种目前在澳大利亚技术领域中普及的开发(Development)与运维(Operations)的结合。1、提高软件交付效率、2、增强团队跨功能协作、3、促进开发与运维的无缝集成为其主旨。在1中,提高软件交付效率通过自动化构建、测试与部署流程,减少人为干预,有效提升部署速度与质量。…

    2024年3月26日
    9600
  • 什么都不懂ug编程教学

    什么都不懂UG编程教学的关键在于掌握以下三点:1、基本操作和界面熟悉、2、绘图与建模基础、3、简单编程逻辑理解。 对于初学者而言,基本操作和界面熟悉是入门的第一步。通过对UG软件的界面和各功能模块的了解,可以为后续的绘图、建模和编程打下坚实的基础。这涉及到如何启动软件、创建和保存工程文件、以及使用最…

    2024年4月27日
    3100
  • 到什么时候开始学编程英语

    学习编程英语的最佳时间是现在。 编程英语是进入技术世界的基础工具,它可以帮助理解技术文档、编写代码注释、与国际开发者沟通交流等。其中,理解技术文档尤其重要,因为无论是学习新技术还是解决编程问题,技术文档都是最直接且权威的信息来源。编程语言基础关键字与结构通常都是英语词汇和句式,因此,良好的编程英语基…

    2024年4月28日
    3500
  • 如何应对市场竞争对研发计划的影响

    摘要:面对市场竞争对研发计划的不断挑战,企业需采取1、市场分析;2、灵活调整研发计划;3、强化团队沟通;4、协同创新等关键策略具体应对。在这一背景下,首先,进行深入的市场分析是基础,以此来理解客户需求和竞争对手的动向。继而,灵活调整研发计划加速产品上市,回应市场变化。进一步,强化团队间的沟通提高研发…

    2023年11月15日
    20500
  • 什么样cpu可以编程

    选择用于编程的CPU需要考虑的主要因素有:1、多核心处理能力、2、高线程性能、3、可靠的长期运行稳定性以及4、良好的性价比。多核心处理能力使得CPU能够在进行复杂编程任务时同时处理多个操作,这在开发环境中是至关重要的。以多核心处理能力为例,编程时往往需要运行编译器、文本编辑器、浏览器以及可能的虚拟机…

    2024年4月27日
    2600
  • 项目销售案场管理员如何做

    项目销售案场管理员在确保案场运行顺畅、提高销售效率方面扮演着至关重要的角色。要做好管理工作,需要注重案场环境管理、客户服务质量提升、销售资源整合与利用、销售数据跟踪分析、培训团队和维护高标准服务。其中,案场环境管理是基础中的基础,它不仅关系到客户的第一印象,还直接影响到客户的购买决策。优质的案场环境…

    2024年4月11日
    7500
  • 少儿编程学什么内容

    学习少儿编程主要包括:1、计算机基础与编程思想,2、图形化编程工具,3、简单的编程语言学习,4、项目实践与创新。 在这些内容当中,计算机基础与编程思想是学习少儿编程的基石。它不只涵盖了计算机工作的基础知识,如计算机硬件基础、软件应用等,更重要的是教会孩子们编程思维。编程思维是一种解决问题的方法论,它…

    2024年4月25日
    3000
  • 中国什么编程专业最吃香

    计算机科学与技术、软件工程、人工智能、数据科学与大数据技术是目前中国最吃香的编程专业。其中,计算机科学与技术由于其全面的课程设置和重点培养学生的基础编程能力与系统设计能力,使得本专业毕业生在职业市场上具有极强的竞争力与广泛的职业选择空间。 一、计算机科学与技术 计算机科学与技术旨在培养拥有扎实的编程…

    2024年4月27日
    1700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部