我对我的怀疑需要一些建议。我需要在类/文件中声明一个函数并在另一个类中定义它是否可以这样做?
我的实例是我的计费模块已集成到我的应用程序中。我只是从不同的模块接受该模块的一些参数,并在计费模块中声明和定义的函数中处理它。当我将这个计费模块合并到所有其他模块时,我需要在每个模块中运行一组代码,这些代码对于每个模块都是唯一的。所以请建议我在计费模块中声明一个函数的方法,它可以在所有其他模块中定义,它应该在计费模块中可执行..
答案 0 :(得分:2)
使用接口
参见here 还有一个example here(来自StackOverflow上的一个问题)
答案 1 :(得分:2)
听起来你应该创建一个声明方法的接口,然后让你想要实现该接口的任何类。
在结算模块中
public interface SomeInterface
{
public void someMethod (...);
}
在其他模块中:
public class SomeClass1 implements SomeInterface
{
public void someMethod (...)
{
....
}
}
public class SomeClass2 implements SomeInterface
{
public void someMethod (...)
{
....
}
}
现在,如果您的结算模块引用了其他模块的类对象,则可以为每个模块调用someMethod (...)
。
答案 2 :(得分:1)
这就是接口的用途。
我们可以创建接口来编写方法声明,然后我们可以实现该接口。每当我们实现一个接口时,都需要覆盖实现类中接口中的所有方法。
例如:语法
public interface NameOfInterface
{
//Any number of final, static fields
//Any number of abstract method declarations\
}
//这是一个界面
interface Animal {
public void eat();
public void travel();
}
//class is implementing the interface
public class MammalInt implements Animal{
public void eat(){
System.out.println("Mammal eats");
}
public void travel(){
System.out.println("Mammal travels");
}
}
答案 3 :(得分:1)
这是你想要实现的! 计费模块:定义接受一些要处理的参数的接口。在计费模块中的某处实现此接口。 在其他模块中:接受计费模块接口对象并调用该函数来处理提供的参数。
BILLING MODULE:
public interface myinterface{
public void process(Object parameter1);
}
public class myinterfaceImpl implements myinterface{
public void process(Object parameter1){
// process parameter1
}
}
Other Modules
myMethod(myinterface myinterfaceObj){
myinterfaceObj.process(Object myparam1)
}