创建笔记本电脑类(继承一个类,实现多个接口)

  • 创建NetCard接口和USB接口,创建Computer抽象类,然后继承Computer类,实现NetCard接口和USB接口,创建笔记本电脑类Laptop。
  • Java简化了C++的多重继承,是单根继承,只能继承一个类,但是作为补偿,Java允许实现多个接口,让一个类可以实现更多的特性。
  • 在Java里,继承一个类,实现多个接口,就好比是只有一个父亲,可以有多个叔叔。

(一)编程实现

1、创建NetCard接口
  • net.nieyourong.p03.t02包里创建NetCard接口
package net.nieyourong.p03.t02;/*** 功能:网卡接口* 作者:聂友蓉* 日期:2022年05月05日*/
public interface NetCard {public  abstract void  connectNetwork();//抽象方法,默认是public权限default void speak() {//缺省方法(从JDK8开始)System.out.println("网卡用于连接网络……");}static void tell() {//静态方法(从JDK8开始)System.out.println("我是一张网卡");}
}
2、创建USB接口
  • net.nieyourong.p03.t02包里创建USB接口
package net.nieyourong.p03.t02;/*** 功能:USB接口(Universal)* 作者:聂友蓉* 日期:2022年05月05日*/
public interface USB {String TYPE = "3.0";//接口只能定义常量void connectUSB();//抽象方法
}
3.创建Computer抽象类
  • net.nieyourong.p03.t02包里创建Computer抽象类
package net.nieyourong.p03.t02;/*** 功能:计算机抽象类* 作者:聂友蓉* 日期:2022年05月05日*/
public abstract class Computer {public abstract void compute();//抽象方法,必须要有abstract关键字(加上public)public abstract void compute(String item);//重载(Overload)的抽象方法public void speak() {//普通方法System.out.println("我是一台计算机……");}
}
4、创建笔记本电脑类 - Laptop
  • net.nieyourong.p03.t02包里创建Laptop
  • Laptop继承Computer抽象类,实现NetCardUSB接口

package net.nieyourong.p03.t02;/*** 功能:笔记本电脑类* 作者:聂友蓉* 日期:2022年05月05日*/
public class Laptop extends Computer implements NetCard, USB{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic void compute() {System.out.println("笔记本电脑[" + name + "]正在计算中……");}@Overridepublic void compute(String item) {System.out.println("笔记本电脑[" + name + "]正在计算[" + item + "]。");}@Overridepublic void connectNetwork() {System.out.println("笔记本电脑[" + name + "]正在连接网络……");}@Overridepublic void connectUSB() {System.out.println("笔记本电脑[" + name + "]正在连接USB接口……");}
}
  • 此时,查看类的层次结构图,按组合键<Ctrl> +<H>
  • 查看一下Laptop的类图
  • 我们可以看一看比较复杂的类图(继承JFrame,创建LoginFrame)
5、创建笔记本电脑测试类
  • net.nieyourong.p03.t02包里创建TestLaptop
package net.nieyourong.p03.t02;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;/*** 功能:测试笔记本电脑* 作者:聂友蓉* 日期:2022年05月05日*/
public class TestLaptop {public static void main(String[] args) throws IOException {String name, item;BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//BufferedReader缓冲字符流System.out.print("笔记本电脑名:");name = br.readLine();System.out.print("计算的项目名:");item = br.readLine();//基于无参构造方法创建对象Laptop laptop = new Laptop();//设置对象属性laptop.setName(name);//调用对象方法(只能用父类的方法)laptop.speak();laptop.connectUSB();laptop.connectNetwork();laptop.compute();laptop.compute(item);}
}
  • 运行程序,查看结果
  • 代码说明:Computer类除了两个重载的抽象方法之外,还有一个普通方法speak(),这个方法不是私有的,因此它的子类Laptop就能继承这个方法,于是laptop.speak()方法会输出“我是一台计算机……”

JAVA【创建笔记本电脑类】笔记相关推荐

  1. 【中】JAVA【创建笔记本电脑类】笔记

    创建笔记本电脑类(继承一个类,实现多个接口) 创建NetCard接口和USB接口,创建Computer抽象类,然后继承Computer类,实现NetCard接口和USB接口,创建笔记本电脑类Lapto ...

  2. 任务2、创建笔记本电脑类(继承一个类,实现多个接口)

    文章目录 任务2.创建笔记本电脑类(继承一个类,实现多个接口) (二)编程实现 1.创建NetCard接口 2.创建USB接口 3.创建Computer抽象类 4.创建笔记本电脑类 - Laptop ...

  3. java007如何java创建一个类

    一,编程的一般思路 1,ooa:面向对象分析 2,ood:面向对象设计 3,oop:面向对象编程 4,测试 5,项目交接,给客户演示,演示完了项目就上线运行,运行期间有bug就项目升级(后期维护)-- ...

  4. Java创建student类

    目录 创建包,包名可以自拟,在包中创建student类 创建Penpal类继承student类 在HelloWorld中实现测试 创建一个叫做Student的类: 对象属性:姓名.年龄.性别.身高 对 ...

  5. java创建Shape类,求子类circle,圆形rectangle矩形,rhombus菱形的周长和面积

    测试类:主要实现创建新对象,并初始化,然后输出结果. package lesson2; public class Demo1 { public static void main(String[] ar ...

  6. JAVA 创建学生类

    1 题目 编写程序实现如下功能:已知学生类有域变量(学号.班号.姓名.性别.年龄)和方法(获得学号.获得班号.获得性别.获得年龄.修改年龄,显示基本信息),定义一组学生对象,并初始化他们的基本信息,然 ...

  7. java创建user类在哪里_java中创建对象有哪几种方式

    1.用new 创建对象,这是最常用的创建对象的方法. User user1 = new User(2,"青秧"); 2.运用反射,调用Java.lang.Class或者java.l ...

  8. 用java创建person类_java编程问题创建person类

    给你个示例参考: import .BufferedWriter; import .FileWriter; import .IOException; import java.util.Random; p ...

  9. 用java建一个类_利用JAVA创建一个类。

    慕姐829404 123456789101112131415package com.test;public class TestTrapezia   {    public static void m ...

最新文章

  1. tomcat中server.xml文件详解
  2. RabbitMQ的应用场景以及基本原理介绍
  3. opencv 显示图片(直接)
  4. 逻辑回归实例--乳腺癌肿瘤预测
  5. AD 批量修改漫游文件
  6. 以下不能在python编译环境_win7 下解决python 集成编译环境IDLE无法打开的问题。...
  7. 栈应用:实现二进制转八进制、十进制、十六进制
  8. 【LetCode算法修炼】Two Sum
  9. mysql源代码安装_mysql源代码安装
  10. Ubuntu 下 MySQL 数据自执行备份
  11. HTML DOM Image 对象
  12. java删除cookie_JAVAWEB使用保存cookie、删除cookie、获取cookie工具类
  13. 带圆圈的数字和markdown常用表达式记录
  14. java 添加图片到word中,并导出word到前端
  15. 免费PDF翻译,不限页数,不限字数,保留排版
  16. 桌面任务栏美化的五种方法(附很好用的美化工具大全网站)
  17. java中数字作为布尔值_day50 java Script 数字和字符串 布尔值和数组 运算符 条件判断和三元运算...
  18. Surface的理解
  19. ArcGIS中利用DEM数据生成地形图既视感的等高线;利用掩膜进行等高线注记;DEM的可视化表达总结
  20. Jquery-获取子元素children,find

热门文章

  1. 你现在极有可能是一个「铁锤人」
  2. 【天光学术】审计研究生毕业论文最全攻略
  3. 华为云AOM 2.0版本发布
  4. Android面试题:四大组件
  5. 纯国产机器人“成团”进入北欧,深兰科技扬帆出海、稳步扩订单
  6. Unity3d 技巧(10) -游戏上线 三星应用商店上传指南
  7. 我是如何通过App赚钱的
  8. 利用百度地图天气API开发微信小程序
  9. 9.1第三方测试的基本概念与测试过程
  10. android实现美团首页滑动菜单功能,Android模仿美团顶部的滑动菜单实例代码