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 18:07:39 浏览: 230
您可以将这些代码保存到三个不同的 .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();
}
}
```
程序填空题 分数 3 作者 邱颖豫 单位 许昌学院 补充代码,使程序运行结果如下: animal : eat dog : eat animal : eat 样例程序: class Animal { void eat() { System.out.println("animal : eat"); } } class Dog extends Animal { void eat() { System.out.println("dog : eat"); } void eatTest() { Dog a. eat(); Animal b. eat(); } } public class Test { public static void main(String[] args) { Animal a = new Animal(); a.eat(); Dog d = new Dog(); d.eatTest(); } } 程序填空题 分数 4 作者 邱颖豫 单位 许昌学院 程序填空。 输入样例: 小黄 小花 输出样例 : 小黄: eat 小花: eat 样例程序: import java.util.Scanner; class Animal { abstract void eat(); } class Dog extends Animal { String name; public Dog(String name) { super(); this.name = name; } public String eat(String name){ return this.name+" eat"; } } public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = sc.next(); Animal a = new Animal() ; a.eat(); name = sc.next(); Dog d = new Dog() ; d.eat(); sc.close(); } } 程序填空题 分数 4 作者 邱颖豫 单位 许昌学院 程序填空。 输入样例: 小黄 小花 输出样例: 小黄: eat 小花: eat 样例程序: import java.util.Scanner; interface Eatable { void eat(); } class Dog implements Eatable { String name; public Dog(String name) { super(); this.name = name; } public String eat(){ return this.name+": eat"; } } public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = sc.next(); Eatable a = new Eatable(); a.eat(); name = sc.next(); Dog d = new Dog(name); d.eat(); sc.close(); } }
第一题:
填空代码:
```
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eat();
((Animal)d).eat();
```
输出结果:
```
animal : eat
dog : eat
animal : eat
```
第二题:
填空代码:
```
import java.util.Scanner;
abstract class Animal {
abstract void eat();
}
class Dog extends Animal {
String name;
public Dog(String name) {
super();
this.name = name;
}
public void eat() {
System.out.println(this.name + ": eat");
}
}
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name = sc.next();
Animal a = new Animal() {
void eat() {
System.out.println(name + ": eat");
}
};
a.eat();
name = sc.next();
Dog d = new Dog(name);
d.eat();
sc.close();
}
}
```
输出结果:
```
小黄: eat
小花: eat
```
第三题:
填空代码:
```
import java.util.Scanner;
interface Eatable {
void eat();
}
class Dog implements Eatable {
String name;
public Dog(String name) {
super();
this.name = name;
}
public void eat() {
System.out.println(this.name + ": eat");
}
}
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name = sc.next();
Eatable a = new Eatable() {
public void eat() {
System.out.println(name + ": eat");
}
};
a.eat();
name = sc.next();
Dog d = new Dog(name);
d.eat();
sc.close();
}
}
```
输出结果:
```
小黄: eat
小花: eat
```
阅读全文