Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 学习一点如何使用接口变量_Java_Interface - Fatal编程技术网

Java 学习一点如何使用接口变量

Java 学习一点如何使用接口变量,java,interface,Java,Interface,我最近看到了在一个类中实现接口的实现,在另一个类中,我们有一个接口类型的静态final变量,它以某种方式能够从实现接口的类中完成计算 我的问题是,如果不止一个类有接口的实现,接口变量将如何处理这个问题。我是否遗漏了什么,或者只是猜测接口的实现在哪里 这是针对java语言的 public interface DemoMe{ public void doSomething(); } public class MainClass implements demoMe { public voi

我最近看到了在一个类中实现接口的实现,在另一个类中,我们有一个接口类型的静态final变量,它以某种方式能够从实现接口的类中完成计算

我的问题是,如果不止一个类有接口的实现,接口变量将如何处理这个问题。我是否遗漏了什么,或者只是猜测接口的实现在哪里

这是针对java语言的

public interface DemoMe{
  public void doSomething();
}

public class MainClass implements demoMe {
   public void doSomething(){
     System.out.println("Something was done ");
   }
}

public class AnotherClass { 
  private final DemoMe demoVariable;

  public void useMe(){
    demoVariable.doSomething();
   }
}
在这里,另一个类不知何故知道如何寻找doSomething的实现。有人能告诉我这到底是如何工作的吗。

java接口中的变量是公共静态和最终类型。每当类实现一个接口时,您都可以使用它。接口变量将成为类的一部分。现在可以使用类引用或对象引用来访问这些变量。这些变量是最终的,因此无法更新,并且是静态的,因此始终属于该类。接口本身不需要管理任何东西。实现类将处理它

在这里,我们定义了一个带有一个方法和一个变量的接口DemoMe。现在DemoMeOne类实现了接口。需要为来自接口的方法提供定义。doSomething方法只是打印一条语句,从接口访问变量。现在我们定义另一个类,它实例化DemoMeOne类并访问接口方法和变量

interface DemoMe{
  public void doSomething();
  public int variable = 100;
}

class DemoMeOne implements DemoMe {
  public void doSomething(){
    System.out.println("Something was done.");
    System.out.println("Access interface variable: " + variable);
  }
}

class MainClass {
  public static void main(String[] args) {
    DemoMeOne demoMeOne = new DemoMeOne();
    System.out.println("Variable from interface using DemoMeOnce class: " + DemoMeOne.variable);
    System.out.println("Variable from interface using DemoMeOnce object reference: " + demoMeOne.variable);
    System.out.println("Variable from interface using interface itself: " + DemoMe.variable);
    demoMeOne.doSomething();
  }
}
输出: 使用DemoMeOnce类的接口变量:100 使用DemoMeOnce对象引用的接口变量:100 使用接口本身的接口变量:100 做了些什么。
访问接口变量:100

请为您要询问的语言添加标记。根据最终版本,它可能是Java,但很难说。一般来说,没有语言标签的问题没有答案…谢谢你更新了评论。你的问题不清楚。请提供代码。这是否回答了您的问题?可能重复的