如何正确导入方法

时间:2014-02-03 01:47:58

标签: java methods import

我目前正在研究如何将其他类从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();
    }
}

我没有像上面所说的扩展任何课程,所以请不要建议。

4 个答案:

答案 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();
 }