🎯问题:
(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类的对象,调用相应方法进行测试。测试结果如图所示。
🎯 答案:
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成为开发安全性要求较高的应用程序的理想选择。