【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。

简介: 【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。

🎯问题:


(1)搭建项目架构


       (a)编写手机的父类HandSet,封装属性品牌和型号,提供公有的取值和赋值方法,编写显示手机品牌和型的方法并实现方法体;


       (b)编写打电话和发短信的抽象方法call()和sendInfo()。


(2)编写接口模拟手机的功能


   (a)编写连接网络的接口NetWork,定义上网的方法networkConn();


   (b)编写拍照的接口TakePictures,定义拍照的方法takePicture();


   (c)编写播放的接口Play,定义播放内容的方法play(String incontent);


(3)使用继承父类和实现接口的方式模拟手机功能


       (a)新建普通手机类CommonHandSet继承父类HandSet,实现播放的接口Play;


       (b)编写带参、无参构造方法用于提供创建CommonHandSet对象的方式;


       (c)实现父类中的方法sendInfo()和call(),接口中的方法play(String incontent);


       (d)新建智能手机类AptitudeHandSet继承父类HandSet,实现播放的接口Play、连接网络的接口Network,拍照的接口TakePictures;


       (e)编写带参,无参构造方法用于提供创建AptitudeHandSet对象的方式;


       (f)实现父类中的方法sendInfo()和call(),实现接口中的方法play(String incontent)、takePicture()和networkConn();


       (g)编写测试类Test,分别创建CommonHandSet和AptitudeHandSet类的对象,调用相应方法进行测试。测试结果如图所示。

116a196ac1791dacece28ef8f737acf9_6f9ad758a598480f908b3586a473666a.png

🎯 答案:

package file3;
abstract class HandSet{
  private String Brand;
  private String Model;
  
  public HandSet() {
    super();
  }
  
  public HandSet(String brand, String model) {
    super();
    Brand = brand;
    Model = model;
  }
 
  public String getBrand() {
    return Brand;
  }
  public void setBrand(String brand) {
    Brand = brand;
  }
  public String getModel() {
    return Model;
  }
  public void setModel(String model) {
    Model = model;
  }
  @Override
  public String toString() {
    return "这是一款型号为"+Model+"的"+Brand+"的手机!";
  }
  abstract void call();
  abstract void sendInfo();
}
interface NetWork{
  void networkConn();
}
interface TakePictures{
  void takePicture();
}
interface Play{
  void play(String incontent);
}
class CommonHandSet extends HandSet implements Play{
  public CommonHandSet() {
    super();
    // TODO Auto-generated constructor stub
  }
 
  public CommonHandSet(String brand, String model) {
    super(brand, model);
    // TODO Auto-generated constructor stub
  }
  @Override
  void call() {
    // TODO Auto-generated method stub
    System.out.println("语音通话。。。");
  }
 
  @Override
  void sendInfo() {
    // TODO Auto-generated method stub
    System.out.println("发送文字信息。。。。");
  }
  @Override
  public void play(String incontent) {
    // TODO Auto-generated method stub
  System.out.println(incontent);  
  }
}
class AptitudeHandSet extends HandSet implements Play,NetWork,TakePictures{
 
  public AptitudeHandSet() {
    super();
    // TODO Auto-generated constructor stub
  }
 
  public AptitudeHandSet(String brand, String model) {
    super(brand, model);
    // TODO Auto-generated constructor stub
  }
 
  @Override
  public void takePicture() {
    // TODO Auto-generated method stub
    System.out.println("咔嚓.....拍照成功");
  }
 
  @Override
  public void networkConn() {
    // TODO Auto-generated method stub
    System.out.println("成功连入网络。。。。");
  }
 
  @Override
  public void play(String incontent) {
    // TODO Auto-generated method stub
    System.out.println("正在播放"+incontent);
  }
 
  @Override
  void call() {
    // TODO Auto-generated method stub
    System.out.println("视频通话。。。");
  }
 
  @Override
  void sendInfo() {
    // TODO Auto-generated method stub
    System.out.println("发送图文彩信。。。。。");
  }
}
public class Test {
 
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    CommonHandSet c=new CommonHandSet("苹果", "666");
    AptitudeHandSet a=new AptitudeHandSet("华为", "777");
    System.out.println("-------普通手机----------");
    System.out.println(c.toString());
    c.sendInfo();
    c.call();
    c.play("播放歌曲:《东方红》");
    System.out.println("---------智能手机--------------");
    System.out.println(a.toString());
    a.sendInfo();
    a.call();
    a.networkConn();
    a.takePicture();
    a.play("正在播放电视剧:《赘婿》");
  }
 
}


💛废话文学:

Java的优势:


跨平台性: Java是一种跨平台的编程语言,即一次编写,到处运行。Java程序在不同的操作系统上具有很高的移植性,这使得开发人员能够通过Java开发应用程序,无需担心底层操作系统的差异。


面向对象: Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。这种编程范式使得代码可以更加模块化、可重用,并且有助于提高代码的可维护性和可扩展性。


强大的生态系统: Java拥有丰富的标准库和第三方库,提供了各种功能强大的工具和框架,如Spring、Hibernate和JUnit等。这些工具和框架使得Java开发人员能够更加高效地开发应用程序,并提供了解决特定问题的解决方案。


多线程支持: Java内置了对多线程编程的支持,使得开发人员可以轻松地创建并发应用程序。多线程编程可以有效地利用多核处理器的性能,并提高程序的响应速度和吞吐量。


安全性: Java拥有严格的安全机制,包括字节码验证、安全管理器和安全沙箱等,可以防止恶意代码对系统的破坏。这使得Java成为开发安全性要求较高的应用程序的理想选择。

目录
相关文章
|
1天前
|
缓存 Java
Java并发编程:深入理解线程池
【4月更文挑战第26天】在Java中,线程池是一种重要的并发工具,它可以有效地管理和控制线程的执行。本文将深入探讨线程池的工作原理,以及如何使用Java的Executor框架来创建和管理线程池。我们将看到线程池如何提高性能,减少资源消耗,并提供更好的线程管理。
|
2天前
|
存储 安全 Java
Java并发编程中的高效数据结构:ConcurrentHashMap解析
【4月更文挑战第25天】在多线程环境下,高效的数据访问和管理是至关重要的。Java提供了多种并发集合来处理这种情境,其中ConcurrentHashMap是最广泛使用的一个。本文将深入分析ConcurrentHashMap的内部工作原理、性能特点以及它如何在保证线程安全的同时提供高并发性,最后将展示其在实际开发中的应用示例。
|
2天前
|
Java API
java流式实现chatGPT会话功能
java流式实现chatGPT会话功能
8 1
|
3天前
|
Java API 调度
[Java并发基础]多进程编程
[Java并发基础]多进程编程
|
3天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
3天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
3天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
4月前
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
91 0
|
3月前
|
安全 网络协议 Linux
【公网远程手机Android服务器】安卓Termux搭建Web服务器
【公网远程手机Android服务器】安卓Termux搭建Web服务器
67 0

热门文章

最新文章