🎃个人专栏:
🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客
🐳Java基础:Java基础_IT闫的博客-CSDN博客
🐋c语言:c语言_IT闫的博客-CSDN博客
🐟MySQL:数据结构_IT闫的博客-CSDN博客
🐠数据结构:数据结构_IT闫的博客-CSDN博客
💎C++:C++_IT闫的博客-CSDN博客
🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客
💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客
🥏python:python_IT闫的博客-CSDN博客
欢迎收看,希望对大家有用!
目录
🎯问题:
🎯 答案:
💛废话文学: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类的对象,调用相应方法进行测试。测试结果如图所示。
🎯 答案:
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成为开发安全性要求较高的应用程序的理想选择。