首页 > 其他分享 >Day30--如何引用其他的类

Day30--如何引用其他的类

时间:2024-11-04 13:57:56浏览次数:1  
标签:包中 -- ClassD ClassB Day30 引用 import com example

Day30--如何引用其他的类

  1. 同一包内引用其他类

    • 无需导入(在某些情况下):如果多个类在同一个包中,并且没有使用任何访问限制(如private)阻止访问,在一个类中可以直接创建对象然后使用另一个类。例如,有ClassAClassB在同一个包com.example中:

    • package com.example;
      class ClassA {
          public void methodA() {
              ClassB objB = new ClassB();
              // 可以直接使用ClassB的方法(假设ClassB有合适的方法)
              objB.methodB();
          }
      }
      class ClassB {
          public void methodB() {
              System.out.println("This is methodB in ClassB");
          }
      }
      
    • ClassAmethodA方法中,直接通过new ClassB()创建了ClassB的对象,并调用了ClassBmethodB方法。因为它们在同一个包中,所以可以直接访问。

    • 需要导入(当存在命名冲突等情况时):如果在同一个包中有同名的类或者想要更清晰地表明类的引用,可以使用import语句(虽然在这种情况下不是必须用于访问)。例如,如果有两个ClassB类定义在不同的目录但在同一个包中(这可能是由于复杂的项目结构导致),可以这样写:

    • package com.example;
      import com.example.someSubDirectory.ClassB;
      class ClassA {
          public void methodA() {
              ClassB objB = new ClassB();
              objB.methodB();
          }
      }
      
    • 这里import语句明确指出了要引用的ClassB是来自com.example.someSubDirectory目录下的。

  2. 不同包内引用其他类

    • 基本引用步骤:如果要引用不同包中的类,首先需要使用import语句导入该类。例如,ClassCcom.example.package1包中,想要引用com.example.package2包中的ClassD

    • package com.example.package1;
      import com.example.package2.ClassD;
      class ClassC {
          public void methodC() {
              ClassD objD = new ClassD();
              // 可以使用ClassD的方法(假设ClassD有合适的方法)
              objD.methodD();
          }
      }
      
    • 先通过import com.example.package2.ClassD;导入ClassD类,然后就可以在ClassCmethodC方法中创建ClassD的对象并调用其方法。

标签:包中,--,ClassD,ClassB,Day30,引用,import,com,example
From: https://www.cnblogs.com/xiaokunzhong/p/18525083

相关文章

  • Nuxt.js 应用中的 nitro:build:before 事件钩子详解
    title:Nuxt.js应用中的nitro:build:before事件钩子详解date:2024/11/4updated:2024/11/4author:cmdragonexcerpt:nitro:build:before是Nuxt3中的一个生命周期钩子,专门用于在构建Nitro实例之前调用。这个钩子允许开发者在Nitro实例构建之前执行特定的操作,从而......
  • 深入理解 `std::shared_ptr`:原理、用法及其线程安全性
    在C++中,智能指针是现代内存管理的重要工具,尤其是在复杂的多线程环境中,能显著减少内存泄漏和悬空指针等问题。std::shared_ptr是C++11引入的一种共享智能指针,通过引用计数机制管理对象的生命周期。本文将详细介绍std::shared_ptr的基本用法、循环引用问题、线程安全性及其局......
  • 信息安全与ISO 27001:内部稽核必备的硬盘抹除方案
    抹除机需求案例(记录用)葡眾(User)向歐力士(SI)租賃電腦,租期為三年。租賃期間大世科提供三年保固。租期結束前,因應內部稽核需符合ISO27001標準,因此需要抹除機來處理資料安全問題。歐力士租賃電腦的產品來自大世科電腦代理商,他們與大世科合作,透過買斷方式取得電腦設備,但由大世......
  • 详解Rust标准库:VecDeque 队列
    theme:githubhighlight:an-old-hope查看本地官方文档安装rust后运行rustupdoc查看TheStandardLibrary即可获取标准库内容std::connections::VecDeque定义队列是遵循先入先出规则的线性数据结构,在内存中不一定连续VecDeque定义:可增长的环形缓冲区实现的双端队......
  • 【JAVA】Java基础—Java概述:Java语言的历史与发展
    Java是一种广泛使用的编程语言,因其跨平台性、面向对象特性和强大的生态系统而受到开发者的青睐。Java最初由SunMicrosystems于1995年发布,经过多年的发展,已成为企业级应用、移动应用、Web开发和大数据处理等领域的主流语言。企业级应用:Java在大型企业应用中占据主导地位,特别......
  • 【JAVA】Java基础—Java概述:Java的特点
    Java语言因其独特的设计理念和强大的功能,在软件开发领域获得了广泛的应用。以下是Java的几个主要特点的详细说明,以及通俗易懂的例子来帮助理解这些概念。1.跨平台性理论说明Java的跨平台性是其最显著的特点之一,得益于Java虚拟机(JVM)的设计。Java程序在编译后生成字节码(.clas......
  • 外网爆火的LLM应用手册来了!内行人都在学的大模型黑书,评分高达9.9!!!
    Transformer模型介绍朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】Transformer是工业化、同质化的后深度学习模型,其设计目标是能够在高性能计算机(超级计算机)上以并行方式进行计算。通过同质化,一个Transformer模型可以执行各种任务,而不......
  • DIV简单个人静态HTML网页设计作品 WEB静态个人介绍网页模板代码 DW个人网站制作成品
    ......
  • web大学生个人网站作业模板——上海旅游景点介绍网页代码 家乡旅游网页制作模板 大学
    家乡旅游景点网页作业制作网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠......
  • 安全见闻(3)脚本程序/病毒 (B站泷羽sec
    声明学习视频来自B站UP主泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负---------------------------------------------------------------------------------------......