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

  • 创建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. mybaits二十六:mybatis,spring整合
  2. iOS 9之3D Touch
  3. java安全初始化_java安全编码指南之:声明和初始化
  4. 计算机应用类专业综合冲刺卷,2009年计算机应用类专业综合知识模拟试卷.doc
  5. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码
  6. springcloud 服务网关Zuul实战(二)路由访问映射规则
  7. 以监控为核心 实现安防智能化全面兼容
  8. python面向对象变成(1):类的基本概念
  9. Python获取随机字母
  10. 使用Java播放wav音乐
  11. 苹果vs剪辑下载_Vlog教程 | 如何在手机剪辑app中添加自己的音乐?
  12. CookGAN Causality based Text-to-Image Synthesis
  13. 单链表就地逆置(Java版)
  14. 路由器dns服务器为空,家用路由器设置里的DNS服务器是什么?有什么作用呢?
  15. day1 计算机简史(概念)②
  16. Perfect Tree(图论)
  17. Python知识体系图
  18. MyBatis-Plus的条件查询(只举例部分方便使用)
  19. ftp下载怎么操作,使用教程
  20. 服务器esxi虚拟机升级,ESXi 服务器安装升级补丁

热门文章

  1. C++11 可变参数
  2. 全球与中国休闲裙市场深度研究分析报告
  3. Android_牛人博客
  4. win10系统打开更新服务器,win10自动打开更新服务器地址
  5. leetcode买卖股票最佳时机相关问题分析
  6. ios 只用3x图可以吗_iOS 图片 @2x与@3x区别
  7. 一、微信小程序开发详解
  8. 精灵宝可梦需考虑季节因素
  9. SAP VK11税码的理解
  10. 金蝶EAS 获取当前公司当前期间以后所有的会计期间