public interface Plant { void eatable();} public class Grass implements Plant { @Override public void eatable() { System.out.println("Grass is eatable."); }}public class Tomato implements Plant { @Override public void eatable() { System.out.println("Tomato is eatable."); }} public class TestPlant { public static void main(String[] args) { Grass grass = new Grass(); Tomato tomato = new Tomato(); grass.eatable(); tomato.eatable(); }}如何运行
时间: 2023-06-27 10:07:39 浏览: 49
您可以将这些代码保存到三个不同的 .java 文件中,然后使用命令行编译和运行它们,或者使用一个集成开发环境(IDE)如 Eclipse、NetBeans 或 IntelliJ IDEA 进行编译和运行。
以下是一种在命令行中编译和运行这些代码的方法:
1. 将上面的代码保存到三个不同的 .java 文件中。例如,将 Plant 接口保存为 Plant.java,将 Grass 类保存为 Grass.java,将 Tomato 类保存为 Tomato.java。
2. 打开命令行窗口,并导航到包含这些文件的目录。
3. 编译这些代码。在命令行中输入以下命令:
```
javac Plant.java Grass.java Tomato.java TestPlant.java
```
这将编译所有四个文件并生成 .class 文件。
4. 运行 TestPlant 类。在命令行中输入以下命令:
```
java TestPlant
```
这将运行 TestPlant 类并输出以下内容:
```
Grass is eatable.
Tomato is eatable.
```
这表明 Grass 和 Tomato 对象都能够调用 eatable() 方法并输出正确的信息。
相关问题
public interface Plant { void eatable();} public class Grass implements Plant { @Override public void eatable() { System.out.println("Grass is eatable."); }}public class Tomato implements Plant { @Override public void eatable() { System.out.println("Tomato is eatable."); }} public class TestPlant { public static void main(String[] args) { Grass grass = new Grass(); Tomato tomato = new Tomato(); grass.eatable(); tomato.eatable(); }}的优化
这段代码本身没有明显的问题,但是可以进行一些优化:
1. 接口名可以更加明确,例如将 Plant 改为 Eatable。
2. 注释可以添加,例如给 Grass 和 Tomato 类添加注释说明它们的作用和实现原理。
3. 可以使用更加语义化的命名,例如将 TestPlant 改为 EatableTest。
修改后的代码如下:
```
public interface Eatable {
void isEatable();
}
public class Grass implements Eatable {
@Override
public void isEatable() {
System.out.println("Grass is eatable.");
}
}
public class Tomato implements Eatable {
@Override
public void isEatable() {
System.out.println("Tomato is eatable.");
}
}
public class EatableTest {
public static void main(String[] args) {
Grass grass = new Grass();
Tomato tomato = new Tomato();
grass.isEatable();
tomato.isEatable();
}
}
```
按以下要求编写程序: (1) 编写Plant接口,接口中声明eatable()方法 (2) 定义Grass类和Tomato类实现Plant接口 (3) 编写Grass类和Tomato类的测试类,并调用其中的eatable()方法,输出相关信息。
以下是Java语言的代码实现:
Plant接口:
```java
public interface Plant {
void eatable();
}
```
Grass类:
```java
public class Grass implements Plant {
@Override
public void eatable() {
System.out.println("This grass is eatable.");
}
}
```
Tomato类:
```java
public class Tomato implements Plant {
@Override
public void eatable() {
System.out.println("This tomato is eatable.");
}
}
```
测试类:
```java
public class Test {
public static void main(String[] args) {
Plant grass = new Grass();
Plant tomato = new Tomato();
grass.eatable();
tomato.eatable();
}
}
```
输出结果:
```
This grass is eatable.
This tomato is eatable.
```