定义一个接口,定义两个类实现接口,调用类,测试类,静态定义方法
时间: 2024-09-23 17:16:25 浏览: 47
在Java中,接口是一种纯抽象类型的定义,它只包含常量(默认为public static final修饰)和抽象方法(无body),用于规定一组规范,而由实现它的类去提供具体的实现。以下是定义接口、实现接口以及使用它们的基本步骤:
1. **定义接口**:
```java
// 定义接口 MyInterface
public interface MyInterface {
void doSomething();
int getSomeValue();
}
```
这里定义了一个名为`MyInterface`的接口,包含两个方法:`doSomething()`和`getSomeValue()`。
2. **实现接口**:
```java
// 类 A 实现接口 MyInterface
public class ClassA implements MyInterface {
@Override
public void doSomething() {
System.out.println("ClassA doing something");
}
@Override
public int getSomeValue() {
return 10;
}
}
// 类 B 同样实现 MyInterface
public class ClassB implements MyInterface {
@Override
public void doSomething() {
System.out.println("ClassB doing something");
}
@Override
public int getSomeValue() {
return 20;
}
}
```
这两个类实现了`MyInterface`,并提供了各自版本的`doSomething`和`getSomeValue`方法。
3. **调用类的方法**:
```java
public class Main {
public static void main(String[] args) {
MyInterface a = new ClassA(); // 创建 ClassA 的实例
a.doSomething(); // 调用 ClassA 的 doSomething 方法
System.out.println(a.getSomeValue()); // 输出 ClassA 的 getSomeValue 返回值
MyInterface b = new ClassB(); // 或者创建 ClassB 的实例
b.doSomething(); // 调用 ClassB 的 doSomething 方法
System.out.println(b.getSomeValue()); // 输出 ClassB 的 getSomeValue 返回值
}
}
```
在主程序中,我们可以创建`ClassA`或`ClassB`的实例,并通过接口调用它们的方法。
4. **静态定义方法**:
如果需要定义与接口无关的静态方法,可以在类中定义:
```java
class InterfaceWithStaticMethod {
public static void printMessage(String message) {
System.out.println(message);
}
// 接口方法...
}
```
然后接口使用者可以像这样调用:
```java
InterfaceWithStaticMethod.printMessage("This is a static method call.");
```
静态方法与接口分离,不会影响接口的实现。
阅读全文