public class Pen { public static void main(String[] args){ Color Red = new Red(); Brush BigBrush = new BigBrush(); BigBrush.setColor(Red); BigBrush.operation(); Color Green = new Green(); Brush MidBrush = new MidBrush(); MidBrush.setColor(Green); MidBrush.operation(); Color Blue = new Blue(); Brush SmallBrush = new SmallBrush(); SmallBrush.setColor(Blue); SmallBrush.operation(); } } interface Color { public void operationColor(); } class Red implements Color{ String color; public void operationColor() { color="Red"; System.out.println("颜色为红色"); } } class Blue implements Color{ String color; public void operationColor() { color="Blue"; System.out.println("颜色为蓝色"); } } class Green implements Color{ String color; public void operationColor() { color="Green"; System.out.println("颜色为绿色"); } } class Concretelmplementor { public Red getredcolor(){ return new Red(); } public Blue getbluecolor(){ return new Blue(); } public Green getgreencolor(){ return new Green(); } } abstract class Brush { protected Color color; public void setColor(Color color) { this.color=color; } public abstract void operation(); } class BigBrush extends Brush{ public void operation(){ System.out.print("使用大号毛笔:"); color.operationColor(); } } class MidBrush extends Brush{ public void operation(){ System.out.print("使用中号毛笔:"); color.operationColor(); } } class SmallBrush extends Brush{ public void operation(){ System.out.print("使用小号毛笔:"); color.operationColor(); } }
时间: 2024-04-26 10:21:38 浏览: 13
这段代码是一个简单的桥接模式的实现,其中使用了接口Color和实现它的三个类Red、Blue和Green,它们都有一个方法operationColor()。同时还有一个Concretelmplementor类,用于获取不同的颜色对象。抽象类Brush中有一个属性color,它是Color类型,还有一个抽象方法operation()。BigBrush、MidBrush和SmallBrush三个具体类继承了Brush抽象类,并实现了operation()方法,其中调用了color对象的operationColor()方法。在main()方法中创建了三个不同颜色的Color对象,并将它们设置到不同大小的画笔对象中,最后调用了它们的operation()方法。
相关问题
public class RunQuiz { public static void main(String[] args) {} Question q = new Question(); }为什么看不到窗口?
您的代码有一个问题,它在 `main` 方法中没有执行任何语句,因此不会创建 `Question` 实例。您需要将创建 `Question` 实例的语句放在 `main` 方法中,例如:
```
public class RunQuiz {
public static void main(String[] args) {
Question q = new Question(); // 创建 Question 实例
}
}
```
这样运行 `main` 方法时,将创建 `Question` 实例并显示窗口。
public class E { public static void main(String args[]) { ComputerFrame fr = new ComputerFrame(); //【1】窗口标题设为“计算” } }
在示例代码中,我们可以通过以下方式将窗口标题设为“计算”:
```java
public class E {
public static void main(String args[]) {
ComputerFrame fr = new ComputerFrame();
fr.setTitle("计算"); // 【1】设置窗口标题为“计算”
}
}
```
在这个示例中,我们创建了一个名为`fr`的`ComputerFrame`对象,并使用`fr.setTitle("计算")`的方式将窗口标题设为“计算”。需要注意的是,这个方法需要在创建完窗口对象之后调用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)