我目前正在努力了解如何将其他类从 Java 中的某个包导入到另一个包和该某个类。
我想知道如何将 Java 中某个类的方法导入到另一个类中,因为我显然无法“扩展”该类来获取该方法,因为它在其他包中。
示例:
package Responses;
public class Hello {
public static void sayHello() {
System.out.print("HELLO!");
}
}
问题:
如何从 Responses 包中的 Hello 类导入
sayHello
。
package Start;
public class Begin {
public static void main(String[] args) {
sayHello();
}
}
我不会像上面所说的那样延长任何课程,所以请不要建议这样做。
import static Responses.Hello.sayHello;
然后在你的其他课程中你可以这样做:
sayHello();
注意:您可以仅导入静态的方法。
您可以导入整个类 (A) 或其静态成员 (B)。
答:
import responses.Hello;
public class Begin {
String myString = Hello.sayHello();
}
乙:
import static responses.Hello.sayHello; // To import all static members use responses.Hello.*;
public class Begin {
String myString = sayHello();
}
oracle 关于静态导入的使用是怎么说的:
那么什么时候应该使用静态导入呢?非常节俭!仅当您想声明常量的本地副本或滥用继承(常量接口反模式)时才使用它。换句话说,当您需要频繁访问一两个类的静态成员时,请使用它。如果过度使用静态导入功能,它可能会使您的程序不可读且不可维护,并用您导入的所有静态成员污染其名称空间。代码的读者(包括您,在您编写代码几个月后)将不知道静态成员来自哪个类。从类中导入所有静态成员可能会特别损害可读性;如果您只需要一两个成员,请单独导入。使用得当,静态导入可以通过消除类名重复的样板来使您的程序更具可读性。
在这里找到全部内容。
PS
请为您的包使用命名约定:
包名全部小写,避免与类或接口的名称冲突。
来自这里
一种方法是将 sayHello() 方法设为公共静态。喜欢
public class Hello {
public static void sayHello() {
System.out.print("HELLO!");
}
}
然后在你的 Begin 类中,你可以使用 Hello 来调用 sayHello。当然,如果它们不在同一个包下,你应该先导入Hello类。
public static void main(String[] args) {
Hello.sayHello();
}
导入函数所在的类:
import Responses.Hello;
然后就可以调用该函数了:
Hello.sayHello();
在 Java 中,没有直接导入方法的构造,但您可以导入它所在的类。