题目描述:综合题

考察知识点staticextends、多态、final、抽象类、接口编程要求

定义接口 Chargeable(充电):方法 charge()

定义抽象类 ElectronicProduct(电子产品):

    final 常量 PRODUCER(生产商);

    静态变量 total(统计产品总数);

    抽象方法 use()

子类 Phone 继承抽象类 + 实现充电接口;

重写所有方法,构造方法中统计产品数量;

多态创建手机对象,调用充电、使用方法;

打印产品总数和不可修改的生产商常量。

打印结果:

java 复制代码
public interface Chargeable {
    //接口默认 public abstract
    void charge();
}
java 复制代码
public abstract class ElectronicProduct {
    public static final String PRODUCER="国产科技";
    public static int total;
    public abstract void use();
}
java 复制代码
public class Phone extends ElectronicProduct implements Chargeable{
    //创建构造方法,产品总数+1
    public Phone(){
        total++;//没创建一个对象,静态变量都+1
    }
    @Override
    public void use() {
        System.out.println("使用手机上网");

    }

    @Override
    public void charge() {
        System.out.println("手机充电中");
    }
}
java 复制代码
public class TestElectronicProduct {
    public static void main(String[] args) {
        ElectronicProduct phone1 = new Phone();
        Chargeable phone2 = new Phone();
        phone1.use();
        phone2.charge();
        System.out.println("生产商是"+ElectronicProduct.PRODUCER);
        System.out.println("产品总数是:"+ElectronicProduct.total);


    }
}
相关推荐
圆山猫1 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管2 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨2 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡2 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖3 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9853 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室5 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen6 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜6 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫7 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v