如何在Java中从另一个类(而不是继承)调用类?

时间:2010-11-30 15:01:32

标签: java class

我不记得在java中的另一个类的方法,例如在一个主类中,你调用扫描器类来扫描用户输入时它被调用了什么?

4 个答案:

答案 0 :(得分:2)

我认为您正在寻找聚合和组合等关联的名称。 这些术语用于描述UML中的Releationships

答案 1 :(得分:1)

如果扫描方法是实例(对象)方法(非静态),那么它将是这样的

Scanner s = new Scanner();
s.scan();

如果扫描是静态的(类方法),那么

Scanner.scan();

编辑:关系的名称是UML中的Dependency。你说主要取决于扫描仪或主要用途 - 扫描仪。我制作了这个UML幻灯片和cheatsheet:

http://www.loufranco.com/blog/files/UMLCheatsheet.html

如果您在主类中有一个Scanner成员,那么这通常称为has-a,composition或关联。

答案 2 :(得分:1)

你的问题不明确。

但也许以下示例会有所帮助:

class Scanner{
  public void scan(){}
}

//use inheritance
class SubScanner extends Scanner{
  public void scan(){}       //overriding
  public void scan(int i){}  //overloading
}

//use aggreagation
class MainClass{
  private final Scanner scanner;
  MainClass(Scanner scanner){
    this.scanner = scanner;
  }
  public void scan(){ 
    scanner.scan();         //delegation call
  }
}

答案 3 :(得分:0)