利用接口实现动态的创建对象 (水果类的调用)
利用接口实现动态的创建对象
创建4个类:苹果、香蕉、葡萄、园丁
在三种水果的构造方法中打印一句话。
以苹果类为例:
class apple
{
public apple()
{
System.out.println(―创建了一个苹果类的对象‖);
}
}
要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象
类图如下:
代码如下(示例):
import java.util.Scanner;
public class Gardener {
public static void main(String[] args) {
// TODO Auto-generated method stub
Gardener g = new Gardener();
g.creat();
}
public Fruit creat() {
Fruit f= null;
Scanner sc = new Scanner(System.in);
String str= sc.next();
if(str.equals("苹果")) {
f=new Apple();
}
if(str.equals("梨")) {
f=new Pear();
}
if(str.equals("桔子")) {
f=new Orange();
}
return f;
}
}
interface Fruit{
}
class Apple implements Fruit{
Apple(){
System.out.println("创建了一个苹果类的对象");
}
}
class Pear implements Fruit{
Pear(){
System.out.println("创建了一个梨类的对象");
}
}
class Orange implements Fruit{
Orange(){
System.out.println("创建了一个桔子类的对象");
}
}