关于java:类是否可以实现接口并在该接口后面执行逻辑

Is it possible for class to implement the interface and execute logic behind that interface

好日子开发者。

所以有一个问题:

我需要我的类MyClass用方法doSomething();实现接口IMyInterface并重写方法doSomethiing(),另一个类我们称他为TheOtherClass也实现IMyInterface并重写方法doSomethiing(),再加上实现这个doSomething()方法的一些逻辑(在TheOtherClass中)。

问题:

  • 如何使MyClass中实现的doSomething()方法从TheOtherClass中自动触发doSomething()
  • 另外,如果调用MyClass,我想要doSomethig()方法调用automatically??


我想是这样的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class TheOtherClass implements IMyInterface{
  public void doSomething(){}
}

public class MyClass implements IMyInterface{

// Instance initialization block:
// Runs before the constructor each time you instantiate an object
 {
   this.doSomething()
 }

  public MyClass(){
  }

  IMyInterface theOtherClass = new TheOtherClass ();

  public void doSomething(){
    theOtherClass .doSomething();
    //Add more logic here
  }
}

我建议不要根据这个线程链接在构造函数中调用dosomething,而是使用实例初始化块,在这里阅读更多信息


你可以试试这个

1
2
1. make MyClass sub-class of TheOtherClass
2. call to super.doSumething() in MyClass's doSomething() method.

这将满足您的两个目的。因为它将被覆盖,你可以改变方法中的逻辑。有关详细信息,请单击此处