你再写代码试试呢 2023-03-13 19:11 采纳率: 0%
浏览 66

java写抽象类和接口练习

使用抽象概念定义电话的继承体系

(1)定义抽象类电话 Phone:包含抽象方法

void sendCall(String name) ; 打电话

void getCall(String name); 接电话

(2)定义上网设备接口 Net

包含抽象方法 getInterNet();

(3)定义用电设备接口 Elec

包含抽象方法 on(); off();

(4) 定义手机类Mobilephone,能打电话接电话发短信还能上网以及能开机关机。

(5) 定义电脑类Computer,能开机关机能上网

(6) 在测试类中测试手机与电脑的功能。

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-03-13 19:45
    关注

    参考如下:

    
    public class Main {
    
        public static void main(String[] args) {
            Mobilephone mobilephone = new Mobilephone();
            mobilephone.on();
            mobilephone.getInterNet();
            mobilephone.sendCall("Tom");
            mobilephone.getCall("Joy");
            mobilephone.off();
    
            System.out.println();
            Computer computer = new Computer();
            computer.on();
            computer.getInterNet();
            computer.off();
        }
    }
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public abstract class Phone {
    
        abstract void sendCall(String name);
    
        abstract void getCall(String name);
    }
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public interface Elec {
    
        void on();
    
        void off();
    }
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public interface Net {
    
        void getInterNet();
    }
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public class Mobilephone extends Phone implements Net, Elec{
    
        @Override
        public void getInterNet() {
            System.out.println("手机上网!");
        }
    
        @Override
        void sendCall(String name) {
            System.out.println("手机打电话给" + name);
        }
    
        @Override
        void getCall(String name) {
            System.out.println("手机从" + name + "接电话");
        }
    
        @Override
        public void on() {
            System.out.println("手机开机!");
        }
    
        @Override
        public void off() {
            System.out.println("手机关机!");
        }
    }
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public class Computer implements Elec, Net {
        @Override
        public void on() {
            System.out.println("电脑开机!");
        }
    
        @Override
        public void off() {
            System.out.println("电脑关机!");
        }
    
        @Override
        public void getInterNet() {
            System.out.println("电脑上网!");
        }
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 3月13日

悬赏问题

  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本
  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列
  • ¥15 SENT协议中相关问题咨询
  • ¥15 URL地址href跳转问题
  • ¥15 mysql数据库备份恢复