2015-01-21 97 views
-1

我需要一些关于我的疑问的建议。我需要在类/文件中声明一个函数,并在另一个类中定义它是否可以这样做?方法声明和在java中定义

我的实例是我有一个计费模块集成到我的应用程序。我只是接受来自不同模块的该模块的一些参数,并将其处理为在计费模块中声明和定义的函数。当我将此计费模块并入所有其他模块时,我需要在每个模块中运行一些代码,这对每个模块都是唯一的。于是好心建议我一个方法来声明计费模块的功能,它可以在所有其他模块定义的,它应该是在计费模块可执行..

+2

你可以发表你的原型代码吗? – JBALI 2015-01-21 07:43:41

回答

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

使用接口

  • 声明你的方法该接口
  • (使用工具条款)
  • 在你的类实现接口并在类中定义它们

here 而且也是一个example here(从这里问StackOverflow上的问题之一)

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"); 
    } 
} 
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) 
}