用java写一串代码,要求是:自己设想一个生活场景,创建场景相关的类,建立对象实例,进行场景的表达。至少使用到类的创建、构造器、构造器的重载、set和get,this和static关键字、内部类等。
时间: 2024-10-24 11:04:46 浏览: 9
Java基础实例:关于对象和类的源代码.rar
假设我们正在创建一个简单的咖啡店管理系统。我们可以设计几个类来模拟这个场景:
1. **CoffeeShop** 类:表示整个咖啡店,包含静态属性如总销售额。
```java
public class CoffeeShop {
private static double totalSales = 0;
public void serveCoffee(Coffee coffee) {
totalSales += coffee.getPrice();
}
// 构造器
public CoffeeShop() {}
// 构造器重载,接受初始化销售额参数
public CoffeeShop(double initialTotalSales) {
this.totalSales = initialTotalSales;
}
// 获取总销售额
public double getTotalSales() {
return totalSales;
}
}
```
2. **Coffee** 类:代表咖啡,包含价格和其他属性。
```java
public class Coffee {
private String name;
private double price;
// 使用构造器设置属性
public Coffee(String name, double price) {
this.name = name;
this.price = price;
}
// 构造器的默认版本
public Coffee() {
this("Unknown", 0);
}
// set and get方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
// 内部类,可以作为咖啡的装饰器,比如加入糖
private class WithSugar {
public Coffee withSugar() {
return new Coffee(name, price + 0.5);
}
}
}
```
现在,我们可以按照这个场景进行操作:
```java
// 创建咖啡店实例
CoffeeShop coffeeShop = new CoffeeShop();
// 创建咖啡对象并添加到咖啡店
Coffee basicCoffee = new Coffee("Espresso", 3.0);
coffeeShop.serveCoffee(basicCoffee);
// 装饰咖啡并添加到咖啡店
Coffee sugarCoffee = basicCoffee.withSugar();
coffeeShop.serveCoffee(sugarCoffee);
// 打印总销售额
System.out.println("Current total sales: " + coffeeShop.getTotalSales());
```
在这个例子中,我们展示了类的创建、构造器、构造器重载、成员变量的访问、set和get方法,以及内部类的使用。
阅读全文