Day30--如何引用其他的类

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的对象并调用其方法。

posted @ 2024-11-04 14:05  1hahahahahahahaha  阅读(6)  评论(0编辑  收藏  举报