如何将此方法复制到没有参数的方法?

时间:2016-10-19 22:09:18

标签: java

我是java新手,我想知道它是否可行。但是我从另一个班级调用这个方法。但参数让我很难过。我希望在没有参数的情况下调用此方法,或者让它在没有任何错误的情况下转到其他类。

public List<String> getApporDb(
        String servers,
        String username,
        String password,
        Float critThreshold) throws Exception {

        try {
            //something

            try {
                // another thing
                if (serverArray != null && serverArray.length > 0 && folders != null && folders.length > 0) {

                    logger.info("inside loop of CpuUtilization and MemoryUtilization");
                    Float cpuUtilization = null;

                List<String> memoList = new ArrayList<String>();
                    for (String server : serverArray) {
                        memoList.add(server);
}
}
}
}

基本上我想让这个方法中间的arraylist到另一个类。

其他类

public void arrayList() {

databaseClass dbc = new databaseClass();
dbc.getApporDb(String servers,
        String username,
        String password);
// errors everywhere due to parameters form the line above.

}

错误消息:此行有多个标记      - appServerCpuDiskspaceutilizationMap无法解析为      变量      - 用户名无法解析为变量      - 密码无法解析为变量      - 服务器无法解析为变量

2 个答案:

答案 0 :(得分:5)

总之 - 没有。调用方法时需要提供所有参数。

答案 1 :(得分:1)

您可以使用其中一个类扩展该类,然后使用@Override创建该方法的新版本。然后,您将使用您的类,就像它是您扩展的类一样:它具有相同的方法和功能,除了您重写的方法。 一个例子可能如下所示:

A类:

Public class A{
    public void printName(){
        System.out.println("A");
    }
    public void test(){
        System.out.println("test");
    }
}

B组:

public class B extends A{
    @Override
    public void printName(){
        System.out.println("B");
    }
}

主:

public static void main(String[] args){
    B b = new B();
    A a = new A();
    a.printName(); -------- A
    b.printName(); -------- B
    b.test(); -------- test
    a.test(); -------- test
}