java定义接口及实现接口的能运行的一个完整代码定义接口和实现接口在一个程序中
时间: 2023-12-01 09:02:07 浏览: 28
以下是一个Java程序中定义接口和实现接口的完整代码示例:
```java
// 定义接口
interface Shape {
public void draw(); // 接口方法
}
// 实现接口
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
// 测试程序
public class Main {
public static void main(String[] args) {
Shape shape = new Circle(); // 实例化一个 Circle 对象
shape.draw(); // 调用 draw 方法,输出 "Drawing a circle"
}
}
```
在上述示例中,我们首先定义了一个名为 `Shape` 的接口,它包含了一个 `draw` 方法。然后,我们创建了一个 `Circle` 类,它实现了 `Shape` 接口,并实现了 `draw` 方法。最后,在 `Main` 类中,我们实例化了一个 `Circle` 对象,并将其赋值给 `Shape` 类型的变量 `shape`,并调用了 `shape` 的 `draw` 方法。这将输出 "Drawing a circle"。
相关问题
(Lambda表达式)编写一个Java程序,用Lambda表达式实现接口中的方法;
好的,下面是一个简单的例子:
假设有一个接口`MyInterface`,其中定义了一个抽象方法`myMethod`:
```java
interface MyInterface {
void myMethod(String s);
}
```
我们可以使用Lambda表达式来实现该接口中的方法,代码如下:
```java
public class LambdaDemo {
public static void main(String[] args) {
//使用Lambda表达式实现接口中的方法
MyInterface myInterface = (String s) -> {
System.out.println("Lambda表达式实现了接口中的方法, s = " + s);
};
myInterface.myMethod("Hello, Lambda!");
}
}
```
Lambda表达式`(String s) -> {...}`替代了原来需要实现的匿名内部类,其中的参数类型可以省略,因为编译器可以根据上下文推断出参数类型;方法体中的代码也可以省略花括号`{}`和`return`关键字,因为方法体只有一行代码。
运行程序,输出结果如下:
```
Lambda表达式实现了接口中的方法, s = Hello, Lambda!
```
这就是使用Lambda表达式实现接口中的方法的简单例子。
定义一个类实现Runnable接口实现线程应用,该线程实现1-10的输出
好的,下面是实现代码:
```java
public class CountThread implements Runnable {
@Override
public void run() {
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
public static void main(String[] args) {
CountThread countThread = new CountThread();
Thread thread = new Thread(countThread);
thread.start();
}
}
```
这里我们定义了一个名为`CountThread`的类,实现了`Runnable`接口,重写了`run()`方法,在`run()`方法中循环输出1-10的数字。在`main()`方法中,我们创建了一个新的线程,将`CountThread`对象作为参数传入,然后启动该线程。当运行该程序时,将输出1-10的数字。