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