我是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无法解析为 变量 - 用户名无法解析为变量 - 密码无法解析为变量 - 服务器无法解析为变量
答案 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
}