Java调用方法

时间:2014-02-10 16:55:57

标签: java

我在单独的文件中有两个类,我正在尝试从另一个类中导入一个类。我想知道我该怎么做呢?测试类应该从第一个类中获取两个方法并显示它们。我想知道我会怎么做呢?

第一堂课:

public class StringUtils {
    public static String padLeft(String orig, int n) {
        orig = "testing for lab06";
        return String.format("%1$-" + n + "orig", orig);
    }

    public static String padLeft(String orig, int n, char c) {
        return String.format("%1$-" + n + c + "orig", orig);
    }
}

第二个(或测试)类

public class StringUtilsTest {
    public static void main(String args[]) {
        System.out.println(padLeft);
        System.out.println(padLeft);
    }
}

2 个答案:

答案 0 :(得分:1)

假设两个类都在同一个包中(看起来它们位于问题代码中的默认包中),您有几个选项。

第一个选项是显式引用包含padLeft方法的类,如下所示:

public class StringUtilsTest
{
  public static void main(String args[])
  {
    System.out.println(StringUtils.padLeft("test 1", 5));
    System.out.println(StringUtils.padLeft("test 2", 5));
  }
}

如果StringUtilsStringUtilsTest位于不同的软件包中(不是通常用于类及其测试),则需要将StringUtils导入StringUtilsTest并保持正常import

第二种选择是像这样使用import static

import static StringUtils.padLeft;

public class StringUtilsTest
{
  public static void main(String args[])
  {
    System.out.println(padLeft("test 1", 5));
    System.out.println(padLeft("test 2", 5));
  }
}

答案 1 :(得分:0)

在java中,main方法是运行其余代码的方法。所以你需要做的是在main中创建一个StringUtils类型的对象:

public class StringUtilsTest{

public static void main(String[] args){
    StringUtils str = new StringUtils();
    System.out.println(str.padLeft("random string",5));
    System.out.println(str.padLeft("random string",5,"c"));
}

str对象现在可以保存对StringUtils类内部方法的调用。 为了使方法正常工作,你需要像我一样在其中传递参数。

注意: 像这样,如果要在StringUtils类中定义必须执行的构造函数,则使用java类的默认构造函数:

public class StringUtils{
    public StringUtils(){
        //and in here set the behavior you wish it to have.
    }
}

希望有所帮助