题目五:抽象类 + 接口 混合实现
编程要求抽象类Machine抽象方法work()普通方法start()接口Clean抽象方法clean()类Robot继承抽象类 Machine 实现接口 Clean实现所有未实现的方法测试创建机器人对象调用所有方法。打印结果:机器启动机器人工作机器人清洁思路分析1. 抽象类 Machineabstract class Machine { public abstract void work(); // 抽象方法 public void start() { // 普通方法 System.out.println(机器启动); } }分析abstract class声明这是抽象类不能直接创建对象只能被继承。abstract void work()抽象方法没有方法体作用强制子类必须实现这个方法。start()普通方法有具体实现子类可以直接继承使用不用重写。2. 接口 Cleaninterface Clean { void clean(); }分析interface接口只有方法声明没有实现。接口里的方法默认是public abstract所以不用写修饰符。作用规定实现类必须拥有 clean () 功能。3. Robot 类继承 实现class Robot extends Machine implements Clean { Override public void work() { System.out.println(机器人工作); } Override public void clean() { System.out.println(机器人清洁); } }分析extends Machine继承抽象类必须实现抽象方法 work ()否则报错。implements Clean实现接口必须实现接口方法 clean ()否则报错。Override标记这是重写 / 实现的方法便于检查语法错误。4. 测试类 main 方法public class Test { public static void main(String[] args) { Robot robot new Robot(); robot.start(); robot.work(); robot.clean(); } }分析Robot robot new Robot()创建机器人对象。robot.start()来自Machine 抽象类的普通方法输出机器启动robot.work()Robot实现的抽象方法输出机器人工作robot.clean()Robot实现的接口方法输出机器人清洁题目六综合题考察知识点static、extends、多态、final、抽象类、接口编程要求定义接口Chargeable充电方法charge()定义抽象类ElectronicProduct电子产品final常量PRODUCER生产商静态变量total统计产品总数抽象方法use()子类Phone继承抽象类 实现充电接口重写所有方法构造方法中统计产品数量用多态创建手机对象调用充电、使用方法打印产品总数和不可修改的生产商常量。打印结果:使用手机上网手机充电中生产商国产科技产品总数2思路分析:1. 接口Chargeablejava运行interface Chargeable { void charge(); }接口中方法默认public abstract不用手动写作用定义充电规范只要实现这个接口就必须重写charge()方法。2. 抽象类ElectronicProductabstract class ElectronicProduct { public static final String PRODUCER 国产科技; public static int total 0; public abstract void use(); }abstract class抽象类不能 new 实例只能被继承包含抽象方法的类必须是抽象类。public static final String PRODUCERfinal常量赋值后不能修改static属于类不属于单个对象全局唯一符合题目不可修改的生产商常量。public static int totalstatic静态变量所有对象共享同一个变量用来统计创建了多少个电子产品对象。public abstract void use()抽象方法没有方法体强制子类必须重写实现。3. 子类Phoneclass Phone extends ElectronicProduct implements Chargeable语法规则先 extends 继承抽象类再 implements 实现接口必须同时完成重写抽象类抽象方法 实现接口所有方法否则编译报错。构造方public Phone() { total; }每次new Phone()创建对象自动调用构造方法静态变量total自增实现统计产品总数。重写use()Override public void use() { System.out.println(使用手机上网); }实现抽象类的抽象方法补齐方法体。实现charge()Override public void charge() { System.out.println(手机充电中); }遵守接口规范实现充电功能。4. 测试类 多态解析ElectronicProduct p1 new Phone(); ElectronicProduct p2 new Phone();多态核心父类引用ElectronicProduct指向子类对象Phone编译看左边父类运行看右边子类创建 2 个对象构造执行 2 次total变成 2。p1.use();父类有use抽象方法可直接调用运行执行子类重写的方法。((Chargeable)p1).charge();父类ElectronicProduct没有charge()方法必须向下转型为接口类型才能调用接口独有方法。5. 常量与静态变量打印System.out.println(生产商 ElectronicProduct.PRODUCER); System.out.println(产品总数 ElectronicProduct.total);PRODUCER、total都是static用类名直接调用不用对象final常量无法二次赋值保证生产商固定不变。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2604573.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!