想知道如何满足这个需求

一:
1. 定义书写功能接口(writeAction)
    a)    抽象方法void  write() 

2. 定义笔类(Pen),实现writeAction接口,重写write()方法,方法内不需要编写内容;
    a)    属性: Price 价格(Float),color颜色(String 类型);
    b)    提供空参,满参构造方法和set/get方法;

3. 定义画笔类(Brush)  继承 Pen 0
    a)    重写Pen中write()方法: 输出格式: “现在使用的是价格为XXX的YYY颜色的画笔”,其中XXX为Brush的价格,YYY为Brush的颜色;
    b)    提供空参,满参构造方法

4. 定义铅笔类(Pencil)  继承 Pen 
    a)     重写Pen中write()方法: 输出格式: “”,其中XXX为Pencil的价格,YYY为Pencil的颜色;
   b)    提供空参,满参构造方法

5. 定义画家类(Painter)
    a)    属性: name姓名(String)
    b)    成员方法 : 绘画方法(void draw(Pen p)),首先输出“画家XX正在绘画,”,然后调用p对象的write方法,其中XX为Painter的姓名
    c)    提供空参,满参构造方法;set/get方法

6. 测试类Test
    a)    提供main方法
    b)    在main方法中
            i.创建Brush类对象b1,价格赋值为5.8,颜色赋值为红色;
            ii.创建Pencil类对象p1,价格赋值为2.5,颜色赋值为黑色;
            iii.创建Painter对象,姓名赋值为王流秋;调用两次Painter的draw方法,分别传入b1和p1;进行测试;


interface WriteAction{
	
	void  write();
}
class Pen implements WriteAction{
	float price ;
	String color;
	public Pen() {
		
	}
	public Pen(float price,String color) {
		this.price = price;
		this.color = color;
	}
	@Override
	public void write() {
		
	}
	
}
class Brush extends Pen{
	public Brush() {}
	public Brush(float price ,String color) {
		super(price,color);
	}
	@Override
	public void write() {
		System.out.println("现在使用的是价格为"+price+"的"+color+"颜色的画笔”,其中"+price+"为Brush的价格,"+color+"为Brush的颜色");
	}
}
class Pencil extends Pen{
	public Pencil() {}
	public Pencil(float price ,String color) {
		super(price,color);
	}
	@Override
	public void write() {
		System.out.println("其中"+price+"为Pencil的价格,"+color+"为Pencil的颜色");
	}
}
class Painter{
	String name;
	public Painter() {}
	public Painter(String name) {
		this.name = name;
	}
	
	public void draw(Pen p) {
		System.out.println("画家"+name+"正在绘画,");
		p.write();
	}
}
public class 笔 {
	public static void main(String[] args) {
		Pen b1 = new Brush(5.8f,"红色");
		Pen p1 = new Pencil(2.5f,"黑色");
		Painter painter = new Painter("王流秋");
		painter.draw(b1);
		painter.draw(p1);
	}
}