我在单独的文件中有两个类,我正在尝试从另一个类中导入一个类。我想知道我该怎么做呢?测试类应该从第一个类中获取两个方法并显示它们。我想知道我会怎么做呢?
第一堂课:
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);
}
}
答案 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));
}
}
如果StringUtils
和StringUtilsTest
位于不同的软件包中(不是通常用于类及其测试),则需要将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.
}
}
希望有所帮助