用Java语言写一个关于两个对象(华为手机,小米手机)->类的属性和操作的可执行代码要求
时间: 2024-11-05 09:24:59 浏览: 20
在Java中,我们可以创建一个名为`Phone`的抽象类,并提供一个或多个具体实现(华为和小米),以下是简化的示例:
```java
// 定义抽象类 Phone
abstract class Phone {
private String brand;
// 抽象方法,所有子类都需要实现
public abstract void autoCall();
// 构造函数和getter/setter
public Phone(String brand) {
this.brand = brand;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
}
// 华为手机的具体实现 HuaweiPhone
class HuaweiPhone extends Phone {
public HuaweiPhone(String brand) {
super(brand);
}
@Override
public void autoCall() {
System.out.println("华为手机正在自动拨打...");
}
// 可能会添加更多的华为特有的方法
public void playHuaweiMusic() {
System.out.println("华为手机播放华为音乐...");
}
}
// 小米手机的具体实现 XiaomiPhone
class XiaomiPhone extends Phone {
public XiaomiPhone(String brand) {
super(brand);
}
@Override
public void autoCall() {
System.out.println("小米手机正在自动拨打...");
}
// 小米特有的方法
public void miuiFunctionality() {
System.out.println("小米手机执行MIUI功能...");
}
}
// 主程序
public class Main {
public static void main(String[] args) {
// 创建华为手机对象
Phone huawei = new HuaweiPhone("华为");
huawei.setBrand("华为P40 Pro+");
huawei.autoCall();
huawei.playHuaweiMusic();
// 创建小米手机对象
Phone xiaomi = new XiaomiPhone("小米");
xiaomi.setBrand("小米11 Ultra");
xiaomi.autoCall();
((XiaomiPhone)xiaomi).miuiFunctionality();
}
}
```
在这个例子中,`Phone`是一个抽象类,华为手机和小米手机通过继承`Phone`并重写`autoCall`方法来展示各自的特性。主程序中,我们可以看到对不同手机对象的不同操作。这展示了多态的应用,尽管都是`Phone`类型的引用,但我们可以在运行时根据实际的对象类型调用特定的行为。
阅读全文