[英]Method declaration and defining in java
关于我的疑问,我需要一些建议。 我需要在一个类/文件中声明一个函数,然后在另一个类中定义它,是否可以这样做?
我的实例是我有一个集成到我的应用程序中的计费模块。 我只是从其他模块接受此模块的一些参数,并在计费模块中声明和定义的函数中对其进行处理。 当我将此计费模块合并到所有其他模块时,我需要在每个模块中运行一些代码集,这对于每个模块都是唯一的。 因此,请提出一种在计费模块中声明函数的方法,该函数可以在所有其他模块中定义,并且应该在计费模块中可执行。
听起来您应该创建一个声明方法的接口,然后拥有要实现该接口的任何类。
在计费模块中
public interface SomeInterface
{
public void someMethod (...);
}
在其他模块中:
public class SomeClass1 implements SomeInterface
{
public void someMethod (...)
{
....
}
}
public class SomeClass2 implements SomeInterface
{
public void someMethod (...)
{
....
}
}
现在,如果您的计费模块具有对其他模块类对象的引用,则可以为每个模块调用someMethod (...)
。
这就是接口的用途。
我们可以创建接口来编写方法声明,然后可以实现该接口。无论何时实现接口,都需要覆盖实现类中接口中的所有方法。
例如:语法
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");
}
}
这是您想要实现的!! 计费模块:定义一个接受一些参数进行处理的接口。 在计费模块中的某处实现此接口。 在其他模块中:接受计费模块接口对象,然后调用该函数来处理提供的参数。
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)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.