您的位置:首页 > 编程语言 > Java开发

test8.4

2015-09-26 16:40 399 查看
这一题出的没什么意思,仅仅是让你在Shapes下边定义一个新的Shape对象,然后调用Shanpe class下包含的函数,跟老的s[0,1,2...9】做比较,输出效果完全一样,没什么区别

import java.util.Random;

class Shape{
public void draw(){}
public void erase(){}
public void show(){System.out.println("Shape.show()");}

}

class Circle extends Shape{
@Override public void draw(){}
@Override public void erase(){}
//@Override public void show(){System.out.println("Circle.show()");}

}

class Square extends Shape{
@Override public void draw(){}
@Override public void erase(){}
@Override public void show(){System.out.println("Square.show()");}

}

class Triangle extends Shape{
@Override public void draw(){}
@Override public void erase(){}
//@Override public void show(){System.out.println("Triangle.show()");}

}

class randomShapeGenerator {

private Random rand=new Random(47);

public Shape next()

{
switch(rand.nextInt(3))
{
default:
case 0:return new Circle();
case 1:return new Square();
case 2:return new Triangle();
}

}

}

public class Shapes{
private static randomShapeGenerator gen=new randomShapeGenerator();
public static void main(String[] args) {
Shape[] s=new Shape[9];
for(int i=0;i<s.length;i++)
s[i]=gen.next();
for(Shape p:s)
p.draw();
//new Circle().show();new Square().show();new Triangle().show();
Shape snew=new Shape();
snew.draw();snew.show();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java