定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子

定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子类Orange实现接口Fruit.定义一个工厂类FruitFactory,在里面定义一个带一个String类型参数的静态方法getInstance,在方法中根据参数创建相应类型的对象.定义测试类进行测试。
2026年09月26日 00:45
有3个网友回答
网友(1):

import java.util.Scanner;
interface Fruit{
public void eat(); //创建一个Fruit接口,里面包含一个eat方法
}
class Apple implements Fruit{
public void eat(){
System.out.print("不想吃苹果"); //创建一个Apple类,包含一个eat()方法
}
}
class Orange implements Fruit{
public void eat(){
System.out.print("超级喜欢橘子"); //创建一个orange类,包含一个eat()方法
}
}
class FruitFactory{
public static Fruit getInstance(String fruit){
String b= fruit.toLowerCase(); //工厂函数FruitFactory,包含一个getInstance方法,接受一个fruit参数的字符串
Fruit a=null; //定义一个Fruit接口类型的a
if(b.equals("apple")){ //当输入的字符串是apple时,Fruit a = new Apple();
a = new Apple();
}
if(b.equals("orange")){ //当输入的字符串是orange时,Fruit a = new Orange();
a = new Orange();
}
return a; //返回Fruit类型的a
}
}
public class hh {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("输入apple or orrange:");
String a = reader.nextLine(); //判断是否输入正确
Fruit b = FruitFactory.getInstance(a); //FruitFactory.getInstance(a)方法返回一个Fruit a把 a赋值给b,此时b=a
b.eat(); //调用方法
}
}

网友(2):

public interface Fruit {
  public void eat();
}

public class Apple implements Fruit {
public void eat() {
"改写eat方法"}
}

public class Orangeimplements Fruit {
public void eat() {
"改写eat方法"}
}

public class FruitFactory {
  public static String getInstance(){
return null;}
}

public class FruitTest {//建立一个测试类

public static void main(String[] args) {


}

}

网友(3):

单例模式