Java继承 实现多个接口学习

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

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

(一)编程实现

1、创建接口

在这里插入图片描述

package next.Z;

/**
 * 功能:网卡接口
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public interface Netcard {
    void connectNetwork(); //抽象方法,默认是public权限
    default void speak(){ //缺省方法
        System.out.println("网卡用于连接网络……");
    }
    static void tell(){ //静态方法
        System.out.println("我是一张网卡……");
    }
}

2、创建USB接口

在这里插入图片描述

package next.Z;

/**
 * 功能:USB接口
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public interface USB {
    String TYPE = "3.0"; //接口里面只能定义常量
    void connectUSB(); //抽象方法
}

3、创建computer抽象类

在这里插入图片描述

package next.Z;

/**
 * 功能:电脑抽象类
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public abstract class Computer {
    public abstract void compute(); //抽象方法,要带访问权限
    public abstract void compute(String item); //重载的抽象方法,
}

4、创建笔记本电脑类

在这里插入图片描述

package next.Z;

/**
 * 功能:笔记本计电脑类
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public class Laptop extends  Computer implements Netcard,USB{

    private String name;

    private String getName(){
        return name;
    }

    public  void setName(String name){
        this.name = name;
    }
    @Override
    public void compute() {
        System.out.println("笔记本电脑["+ name +"]正在计算中……");
    }

    @Override
    public void compute(String item) {
        System.out.println("笔记本电脑["+ name +"]正在计算中["+ item +"]");
    }

    @Override
    public void connectNetwork() {
        System.out.println("笔记本电脑["+ name +"]正在连接网络……");
    }

    @Override
    public void connectUSB() {
        System.out.println("笔记本电脑["+ name +"]正在连接USB接口……");
    }
}

  • 此时,查看类的层次结构图 Ctrl+H
    在这里插入图片描述
  • 查看类图
    在这里插入图片描述

5、创建笔记本电脑测试类

在这里插入图片描述

package next.Z;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * 功能:测试笔记本电脑类
 * 作者:向兴桥
 * 日期:20222-4-28
 */
public class TestLaptop {
    public static void main(String[] args) throws IOException {
        String name,item;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("笔记本电脑: ");
        name = br.readLine();
        System.out.print("计算的项目名: ");
        item = br.readLine();
        //创建对象
        Laptop laptop = new Laptop();
        //设置对象属性
        laptop.setName(name);
        //调用对象方法
        laptop.connectUSB();
        laptop.connectNetwork();
        laptop.compute();
        laptop.compute(item);
    }
}

6、运行结果

在这里插入图片描述

(二)知识点讲解

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值