JAVA【创建笔记本电脑类】笔记
创建笔记本电脑类(继承一个类,实现多个接口)
- 创建
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
抽象类,实现NetCard
和USB
接口
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【创建笔记本电脑类】笔记相关推荐
- 【中】JAVA【创建笔记本电脑类】笔记
创建笔记本电脑类(继承一个类,实现多个接口) 创建NetCard接口和USB接口,创建Computer抽象类,然后继承Computer类,实现NetCard接口和USB接口,创建笔记本电脑类Lapto ...
- 任务2、创建笔记本电脑类(继承一个类,实现多个接口)
文章目录 任务2.创建笔记本电脑类(继承一个类,实现多个接口) (二)编程实现 1.创建NetCard接口 2.创建USB接口 3.创建Computer抽象类 4.创建笔记本电脑类 - Laptop ...
- java007如何java创建一个类
一,编程的一般思路 1,ooa:面向对象分析 2,ood:面向对象设计 3,oop:面向对象编程 4,测试 5,项目交接,给客户演示,演示完了项目就上线运行,运行期间有bug就项目升级(后期维护)-- ...
- Java创建student类
目录 创建包,包名可以自拟,在包中创建student类 创建Penpal类继承student类 在HelloWorld中实现测试 创建一个叫做Student的类: 对象属性:姓名.年龄.性别.身高 对 ...
- java创建Shape类,求子类circle,圆形rectangle矩形,rhombus菱形的周长和面积
测试类:主要实现创建新对象,并初始化,然后输出结果. package lesson2; public class Demo1 { public static void main(String[] ar ...
- JAVA 创建学生类
1 题目 编写程序实现如下功能:已知学生类有域变量(学号.班号.姓名.性别.年龄)和方法(获得学号.获得班号.获得性别.获得年龄.修改年龄,显示基本信息),定义一组学生对象,并初始化他们的基本信息,然 ...
- java创建user类在哪里_java中创建对象有哪几种方式
1.用new 创建对象,这是最常用的创建对象的方法. User user1 = new User(2,"青秧"); 2.运用反射,调用Java.lang.Class或者java.l ...
- 用java创建person类_java编程问题创建person类
给你个示例参考: import .BufferedWriter; import .FileWriter; import .IOException; import java.util.Random; p ...
- 用java建一个类_利用JAVA创建一个类。
慕姐829404 123456789101112131415package com.test;public class TestTrapezia { public static void m ...
最新文章
- mybaits二十六:mybatis,spring整合
- iOS 9之3D Touch
- java安全初始化_java安全编码指南之:声明和初始化
- 计算机应用类专业综合冲刺卷,2009年计算机应用类专业综合知识模拟试卷.doc
- 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码
- springcloud 服务网关Zuul实战(二)路由访问映射规则
- 以监控为核心 实现安防智能化全面兼容
- python面向对象变成(1):类的基本概念
- Python获取随机字母
- 使用Java播放wav音乐
- 苹果vs剪辑下载_Vlog教程 | 如何在手机剪辑app中添加自己的音乐?
- CookGAN Causality based Text-to-Image Synthesis
- 单链表就地逆置(Java版)
- 路由器dns服务器为空,家用路由器设置里的DNS服务器是什么?有什么作用呢?
- day1 计算机简史(概念)②
- Perfect Tree(图论)
- Python知识体系图
- MyBatis-Plus的条件查询(只举例部分方便使用)
- ftp下载怎么操作,使用教程
- 服务器esxi虚拟机升级,ESXi 服务器安装升级补丁